OC-UIButton

UIButton

UIButton 是 UIControl的子类
UIControl 是 UIView的子类
作用:与用户交互,用户可以点击,并提供响应
核心属性:
- title: 按键上的文字
- image: 按键上的图片
- backgroundImage: 背景图片
- state:状态
高级事件:
-touchUpInside 事件 在button区域内抬起

- (void)viewDidLoad {
    [super viewDidLoad];
    self.view.backgroundColor = [UIColor whiteColor];
    /*
     UIButtonTypeCustom 自定义样式
     UIButtonTypeSystem 系统样式
     UIButtonTypeDetailDisclosure, 圆圈i
     UIButtonTypeInfoLight, 圆圈i
     UIButtonTypeInfoDark, 圆圈i
     UIButtonTypeContactAdd, 圆圈+
     */
    //创建Button
    UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom];

    self.button1 = button;

    button.frame = CGRectMake(100, 100, 100, 60);
    //设置Button上的文字
    [button setTitle:@"正常" forState:UIControlStateNormal];
    [button setTitle:@"按下" forState:UIControlStateHighlighted];
    //设置Button的背景图片
    [button setBackgroundImage:[UIImage imageNamed:@"BTN"] forState:UIControlStateNormal];
//    [button setBackgroundImage:[UIImage imageNamed:@"BTN2"] forState:UIControlStateHighlighted];
    /*选中状态 和 失效状态必须通过代码修改*/
    //设置选中时的背景图片
    [button setBackgroundImage:[UIImage imageNamed:@"BTN2"] forState:UIControlStateSelected];
    [button setBackgroundImage:[UIImage imageNamed:@"disable"] forState:UIControlStateDisabled];
    //让button失效
//    button.enabled = NO;

    //设置Button的图片
    [button setImage:[UIImage imageNamed:@"Play-btn"] forState:UIControlStateNormal];
    [button setImage:[UIImage imageNamed:@"stop"] forState:UIControlStateHighlighted];

    //为button添加事件方法
    [button addTarget:self action:@selector(buttonClick:) forControlEvents:UIControlEventTouchUpInside];
    //tag 在父视图中的一个标示
    button.tag = 100;
    [self.view addSubview:button];

    UIButton *button2 = [UIButton buttonWithType:UIButtonTypeSystem];
    button2.frame = CGRectMake(100, 250, 80, 40);
    [button2 setTitle:@"失效" forState:UIControlStateNormal];
    [button2 addTarget:self action:@selector(buttonClick:) forControlEvents:UIControlEventTouchUpInside];
    button2.tag = 200;
    [self.view addSubview:button2];

}
//两个button 点中都执行 该方法
-(void)buttonClick:(UIButton*)button {
    if (button.tag == 100) {
        //点中 button1 做的事
        button.selected = !button.selected;
        return;
    }
    //点中 button2 做的事
    NSString *title = [button.titleLabel.text isEqualToString:@"失效"] ? @"激活" : @"失效";
    [button setTitle:title forState:UIControlStateNormal];
    self.button1.enabled = [button.titleLabel.text isEqualToString:@"失效"] ? NO : YES;
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值