UI基础控件- UIButton

按钮

  • 概念:一般情况下,点击某个控件后,会做出相应反应的都是按钮

  • 功能:既能显示文字,又能显示图片,还能随时调整内部图片和文字的位置

  • 状态:

    • normal
    • highlighted
    • disabled
  • 创建方式

  • storyboard
    - type:默认是system,只要设置了图片,就会自动调整为custom

UI基础控件- UIButton_第1张图片
   - 设置disable状态:将父控件UIControll的enable属性设置为YES 
   - 测试高亮状态:将父控件UIControll的highlight勾选上
UI基础控件- UIButton_第2张图片
  • 代码方式创建
    • 创建按钮的同时确定按钮的类型为custom

      • 直接alloc init 创建出来的按钮默认就是自定义类型。
        IButton *btn = [UIButton buttonWithType:UIButtonTypeCustom];
        等价 UIButton *btn = [[UIButton alloc] init];
    • 设置按钮的frame

            btn.frame = CGRectMake(100, 100, 200, 80);
      
    • 设置按钮在不同状态下显示的文字

            [btn setTitle:@"我是按钮" forState:UIControlStateNormal];
            [btn setTitle:@"我是高亮按钮" forState:UIControlStateHighlighted];
            [btn setTitle:@"不可以点击按钮" forState:UIControlStateDisabled];
      
    • 设置按钮在不同状态下显示的图片

             [btn setImage:[UIImage imageNamed:@"pic"] forState:UIControlStateNormal];
             [btn setImage:[UIImage imageNamed:@"pic_pressed"] forState:
      
    • 设置按钮在不同状态下显示的背景图片

              [btn setBackgroundImage:[UIImage imageNamed:@"buttonred"] forState:UIControlStateNormal];
              [btn setBackgroundImage:[UIImage imageNamed:@"buttonred_highlighted"] forState:UIControlStateHighlighted];
      
    • 设置按钮是否可以点击 (默认是可以点击的)

               btn.enabled =  NO;
      
    • 监听按钮点击

      • 只要按钮触发了UIControlEventTouchUpInside 事件,就会调用self对象buttonClick方法
          [btn addTarget:self action:@selector(btnClick:) forControlEvents:UIControlEventTouchUpInside];

          UISwitch *s = [[UISwitch alloc] init];
          [s addTarget:self action:@selector(switchClick:) forControlEvents:UIControlEventValueChanged];
  • 只要继承UIControll就可以用addTarget方法监听事件

你可能感兴趣的:(UI基础控件- UIButton)