button 에 대한 더 깊 은 연구 에 대한 상세 한 설명

//  Copyright (c) 2015  wanghu. All rights reserved.

//

#import "ViewController.h"

@interface ViewController ()

@end

@implementation ViewController

- (void)viewDidLoad {

    [super viewDidLoad];

     /*

      UIButton     UIControl  ,            

      **/

    /**

     *   button       

     *

     *  @return return value description

     */

    /**

     *     button                   UIButtonTypeCustom = 0,                         // no button type

     UIButtonTypeSystem NS_ENUM_AVAILABLE_IOS(7_0),  // standard system button

     

     UIButtonTypeDetailDisclosure,         ,        

     UIButtonTypeInfoLight,       

     UIButtonTypeInfoDark,   //     

     UIButtonTypeContactAdd,  //      

     

     UIButtonTypeRoundedRect = UIButtonTypeSystem,

     *

     *  @return return value description

     */

    UIButton  *button=[UIButton buttonWithType:UIButtonTypeCustom];

        button.frame=CGRectMake(100, 100, 200, 100);//button      

    /**

     *   UIControlStateNormal       = 0,        

     UIControlStateHighlighted  = 1 << 0,                  //     

     UIControlStateDisabled     = 1 << 1,                   //    

     UIControlStateSelected     = 1 << 2,                  //     

     UIControlStateApplication  = 0x00FF0000,              //            

     UIControlStateReserved     = 0xFF000000               //          

     

     *

     *  @return return value description

     */

    [button setTitle:@"  buttn   " forState:UIControlStateNormal];

    [button setTitle:@"  button     " forState:UIControlStateHighlighted];

    ////        ,        

    NSAttributedString *attributedString = [button attributedTitleForState:UIControlStateNormal];

    

    /*

     *      ,         ,           ,             no,

     *           

     */

    button.adjustsImageWhenHighlighted = NO;

    [button setTitleColor:[UIColor redColor] forState:UIControlStateNormal];

    /*        ,     ,        ,         ,  NO      */

    button.adjustsImageWhenDisabled = NO;

    /*           yes    ,       */

    button.showsTouchWhenHighlighted = YES;

    

    /*

     button    ,          button,        。

     **/

    button.tag = 1;

    //          

    

    [button.titleLabel setFont:[UIFont boldSystemFontOfSize:20]];

    //                

    [button setTitleShadowColor:[UIColor grayColor] forState:UIControlStateNormal];

    // button    

    [button setBackgroundColor:[UIColor greenColor]];

    [button setImage:[UIImage imageNamed:@"    "] forState:UIControlStateNormal];

    [button setBackgroundImage:[UIImage imageNamed:@"      "] forState:UIControlStateNormal];

    /**

     *  / /         /  。         ,                 /  。

       / /  nil          。                 

       / /      。  ,      。

     *

     *  @param ClickBtn

     *

     *  @return      

     */

    /**

     UIControlEventTouchDown           = 1 <<  0,      //        ( :  “  ”)   

     UIControlEventTouchDownRepeat     = 1 <<  1,     //              ( :  “  ”)   ,  ,      、  、……、    。  :       ,        :

     UIControlEventTouchDown ->

     (UIControlEventTouchUpInside) ->

     UIControlEventTouchDown ->

     UIControlEventTouchDownRepeat ->

     (UIControlEventTouchUpInside) ->

     UIControlEventTouchDown ->

     UIControlEventTouchDownRepeat ->

     (UIControlEventTouchUpInside) ->

             ,          UIControlEventTouchDown  ,      UIControlEventTouchDownRepeat  。

     UIControlEventTouchDragInside     = 1 <<  2,  //     ,            。

     UIControlEventTouchDragOutside    = 1 <<  3,   // UIControlEventTouchDragInside    ,   ,            。      UIControlEventTouchDown  ,     UIControlEventTouchDragInside  ,    UIControlEventTouchDragExit  ,  ,          ,      UIControlEventTouchDragOutside   。

          :         ,         

     UIControlEventTouchDragEnter      = 1 <<  4,  //      ,              。

     UIControlEventTouchDragExit       = 1 <<  5,  //      ,              。

     UIControlEventTouchUpInside       = 1 <<  6,  //           ,      , UIControlEventTouchDown UIControlEventTouchDownRepeat  。

     UIControlEventTouchUpOutside      = 1 <<  7,  //             ,      ,        ,  UIControlEventTouchDown -> UIControlEventTouchDragInside(n  ) -> UIControlEventTouchDragExit -> UIControlEventTouchDragOutside(n  )     ,         ,  UIControlEventTouchUpOutside  。

     UIControlEventTouchCancel         = 1 <<  8,  //        ,                  ,             。

     

     UIControlEventValueChanged        = 1 << 12,     //          ,    。    、    、         。               ,         ,         。

     

     UIControlEventEditingDidBegin     = 1 << 16,     // UITextField                。

     UIControlEventEditingChanged      = 1 << 17,  //                 。

     UIControlEventEditingDidEnd       = 1 << 18,  //               。

     UIControlEventEditingDidEndOnExit = 1 << 19,     // 'return key' ending editing               (     )     ,    。

     

     UIControlEventAllTouchEvents      = 0x00000FFF,  // for touch events          。

     UIControlEventAllEditingEvents    = 0x000F0000,  // for UITextField             。

     UIControlEventApplicationReserved = 0x0F000000,  // range available for application use

     UIControlEventSystemReserved      = 0xF0000000,  // range reserved for internal framework use

     UIControlEventAllEvents           = 0xFFFFFFFF   //      。

     */

    [button addTarget:self action:@selector(TouchDown:)forControlEvents:UIControlEventTouchDown];

  

    [button addTarget:self action:@selector(TouchDownRepeat:)forControlEvents:UIControlEventTouchDownRepeat];




    [button addTarget:self action:@selector(TouchDragInside:)forControlEvents:UIControlEventTouchDragInside];




    [button addTarget:self action:@selector(TouchDragOutside:)forControlEvents:UIControlEventTouchDragOutside];




    [button addTarget:self action:@selector(TouchDragEnter:)forControlEvents:UIControlEventTouchDragEnter];




    [button addTarget:self action:@selector(TouchDragExit:)forControlEvents:UIControlEventTouchDragExit];




    [button addTarget:self action:@selector(TouchUpInside:)forControlEvents:UIControlEventTouchUpInside];




    [button addTarget:self action:@selector(TouchUpOutside:)forControlEvents:UIControlEventTouchUpOutside];

    

    [button addTarget:self action:@selector(TouchCancel:)forControlEvents:UIControlEventTouchCancel];

    /*

         /       。  NULL               

     **/

//    [button removeTarget:self action:@selector(removeClick:) forControlEvents:UIControlEventTouchDown];

    

     [self.view addSubview:button];

    

}

-(void)removeClick:(id)sender

{

    NSLog(@"    /       。  NULL               ");

}

- (void)TouchDown:(id)sender

{




    NSLog(@"%@", NSStringFromSelector(_cmd));




}

- (void)TouchDownRepeat:(id)sender

{




    NSLog(@"%@", NSStringFromSelector(_cmd));




}

- (void)TouchDragInside:(id)sender

{




    NSLog(@"%@", NSStringFromSelector(_cmd));




}

- (void)TouchDragOutside:(id)sender

{

  

    NSLog(@"%@", NSStringFromSelector(_cmd));




}

- (void)TouchDragEnter:(id)sender

 {




    NSLog(@"%@", NSStringFromSelector(_cmd));




}

- (void)TouchDragExit:(id)sender

{




    NSLog(@"%@", NSStringFromSelector(_cmd));




}

 - (void)TouchUpInside:(id)sender

{

  

    NSLog(@"%@", NSStringFromSelector(_cmd));




}

- (void)TouchUpOutside:(id)sender

{




    NSLog(@"%@", NSStringFromSelector(_cmd));

  

}

- (void)TouchCancel:(id)sender

{




    NSLog(@"%@", NSStringFromSelector(_cmd));




}

/*                             

 adjustsImageWhenDisabled

      ,          ,      。




 @  (   )BOOL adjustsImageWhenDisabled  ,     ,       ,     。    YES。




      iPhone OS 2.0     。    




 @  adjustsImageWhenHighlighted

  UIButton.h         BubbleLevel




 [    ]




 adjustsImageWhenHighlighted

      ,       ,         。




 @  (   )BOOL adjustsImageWhenHighlighted  ,   ,          ,    。    YES。




      iPhone OS 2.0     。    




 @  adjustsImageWhenDisabled

  UIButton.h         BubbleLevel




 [    ]




     

     。(  )




 @  (   ,  )UIButtonType       , UIButtonType    。




      iPhone OS 2.0     。   UIButton.h




 [    ]




 contentEdgeInsets

                。




 @  (   )UIEdgeInsets contentEdgeInsets            ,     ,  ,     。               ;  ( , ,     ),       。  UIEdgeInsetsMake       。    UIEdgeInsetsZero。




      iPhone OS 2.0     。    




 _AT_  imageEdgeInsets

   UIButton.h currentBackgroundImage            。(  )




 @  (  ,   ,  ) UIImage * currentBackgroundImage         。




      iPhone OS 2.0     。    




 _AT_  currentImage

    UIButton.h




 [    ]




 currentImage

           。(  )




 @  (  ,   ,  ) UIImage * currentImage         。




      iPhone OS 2.0     。    




 _AT_  currentBackgroundImage

    UIButton.h




 [    ]




 currentTitle

     ,      。(  )




 @  (  ,   ,  ) NSString * currentTitle         。




      iPhone OS 2.0     。    




 @  currentTitleColor  currentTitleShadowColor

    UIButton.h




 [    ]




 currentTitleColor

         。(  )




 @  (  ,   ,  )UIColor * currentTitleColor            。      。




      iPhone OS 2.0     。    




 @  currentTitle  currentTitleShadowColor

    UIButton.h




 [    ]




 currentTitleShadowColor

         。(  )




 @  (  ,   ,  )UIColor * currentTitleShadowColor        。




      iPhone OS 2.0     。    




 @  currentTitle  currentTitleColor

    UIButton.h




 [    ]




   

             。




 @  (   ,  )UIFont *     ,    ,      。     。




      iPhone OS 2.0     。   UIButton.h




 [    ]




 imageEdgeInsets

               。




 @  (   )UIEdgeInsets imageEdgeInsets            ,     ,  ,     。               ;  ( , ,     ),       。  UIEdgeInsetsMake       。    UIEdgeInsetsZero。




      iPhone OS 2.0     。    




 _AT_  titleEdgeInsets

    UIButton.h




 [    ]




 lineBreakMode

             。




   (   )UILineBreakMode lineBreakMode       UILineBreakMode       。    UILineBreakModeMiddleTruncation。




      iPhone OS 2.0     。 UIButton.h  reversesTitleShadowWhenHighlighted     ,       ,          。




      (   )BOOL reversesTitleShadowWhenHighlighted  ,       ,         。    NO。




      iPhone OS 2.0     。   UIButton.h




 [    ]




 showsTouchWhenHighlighted

      ,              。




 @  (   )BOOL showsTouchWhenHighlighted  ,     ,         ,  ,   。                。    NO。




      iPhone OS 2.0     。    




 @  adjustsImageWhenHighlighted

    UIButton.h




 [    ]




 titleEdgeInsets

               。




 @  (   )UIEdgeInsets titleEdgeInsets            ,     ,  ,     。               ;  ( , ,     ),       。  UIEdgeInsetsMake       。    UIEdgeInsetsZero。




      iPhone OS 2.0     。    




 _AT_  imageEdgeInsets

    UIButton.h




 [    ]




 titleShadowOffset

               。




   (   )CGSize titleShadowOffset           ,  CGSize              。               ,        。    CGSizeZero。




      iPhone OS 2.0     。  UIButton.h   




 buttonWithType:               。




 +(ID)buttonWithType:(UIButtonType)    




 [    ]




   




 [    ]




     

     。     UIButtonType。




            。




      iPhone OS 2.0     。         BubbleLevel TheElements TouchCells UICatalog  UIButton.h    




 [    ]




 backgroundImageForState:

                  。




 - (UIImage *)backgroundImageForState:(UIControlState)  




               。      UIControlState  。




               。




      iPhone OS 2.0     。   - setBackgroundImage:forState:UIButton.h  




 [    ]




 backgroundRectForBounds:

             。




 - (CGRect)backgroundRectForBounds:(CGRect)  




             。




          ,     。




      iPhone OS 2.0     。   - contentRectForBounds:UIButton.h  




 [    ]




 contentRectForBounds:

               。




 - (CGRect)contentRectForBounds:(CGRect)  




              。




                。




                       ,              。




      iPhone OS 2.0     。 - titleRectForContentRect: - imageRectForContentRect: - backgroundRectForBounds:UIButton.h imageForState   :               。




 - (UIImage *)imageForState:(UIControlState)  




            。      UIControlState  。




             。




      iPhone OS 2.0     。   - setImage:forState:UIButton.h imageRectForContentRect  :            。




 - (CGRect)imageRectForContentRect:(CGRect)contentRect




   contentRect       。




              。




      iPhone OS 2.0     。   - contentRectForBounds: - titleRectForContentRect:forState::UIButton.h setBackgroundImage                 。




 - (  )setBackgroundImage:(UIImage *)  forState:(UIControlState)  




                。




             。 UIControlState    。




       ,              ,     UIControlStateNormal   。  UIControlStateNormal    ,             。  ,  ,             。




      iPhone OS 2.0     。   - backgroundImageForState:        BubbleLevel TheElements UICatalog UIButton.h setImage  :forState:           。




 - (  )setImage:(UIImage *)  forState:(UIControlState)  




               。




             。 UIControlState    。




       ,              ,     UIControlStateNormal   。  UIControlStateNormal    ,             。  ,  ,             。




      iPhone OS 2.0     。   - imageForState:forState::      BubbleLevel UIButton.h setTitle  TouchCells           。




 - (  )setTitle :(NSString *)forState  :(UIControlState)  




              。




             。 UIControlState    。




       ,              ,     UIControlStateNormal   。  UIControlStateNormal     ,         。  ,  ,             。




      iPhone OS 2.0     。   - titleForState:UIButton.h setTitleColor:forState       BubbleLevel UICatalog  :              。




 - (  )setTitleColor:(UIColor *)  forState:(UIControlState)  




                  。




             。 UIControlState    。




       ,              ,     UIControlStateNormal   。  UIControlStateNormal    ,             。  ,  ,             。




      iPhone OS 2.0     。   - titleColorForState:UIButton.h setTitleShadowColor:forState       BubbleLevel UICatalog  :         ,       。




 - (  )setTitleShadowColor:(UIColor *)  forState:(UIControlState)  




             ,       。




             。 UIControlState    。




       ,              ,     UIControlStateNormal   。  UIControlStateNormal    ,             。  ,  ,             。




      iPhone OS 2.0     。   - titleShadowColorForState:UIButton.h titleColorForState  :              。




 - (UIColor *)titleColorForState:(UIControlState)  




        ,       。      UIControlState  。




              。




      iPhone OS 2.0     。   - setTitleColor:forState:UIButton.h titleForState  :            。




 - (NSString *)titleForState:(UIControlState)  




        ,     。      UIControlState  。




           。




      iPhone OS 2.0     。   - setTitle:forState:UIButton.h titleRectForContentRect  :              。




 - (CGRect)titleRectForContentRect:(CGRect)contentRect




   contentRect       。




                。




      iPhone OS 2.0     。   - contentRectForBounds: - imageRectForContentRect:UIButton.h titleShadowColorForState  :               。




 - (UIColor *)titleShadowColorForState:(UIControlState)  




        ,         。      UIControlState  。




                。




      iPhone OS 2.0     。   - setTitleShadowColor:forState:UIButton.h    




 UIButtonType         。




  typedef  {




 UIButtonTypeCustom = 0,UIButtonTypeRoundedRect,UIButtonTypeDetailDisclosure,UIButtonTypeInfoLight,UIButtonTypeInfoDark,UIButtonTypeContactAdd

 } UIButtonType;  UIButtonTypeCustom      。




 **/

- (void)didReceiveMemoryWarning {

    [super didReceiveMemoryWarning];

    // Dispose of any resources that can be recreated.

}

@end

좋은 웹페이지 즐겨찾기