typedef NS_ENUM(NSInteger, UIButtonType) {
UIButtonTypeCustom = 0, // no button type
UIButtonTypeSystem NS_ENUM_AVAILABLE_IOS(7_0), // standard system button
UIButtonTypeDetailDisclosure,
UIButtonTypeInfoLight,
UIButtonTypeInfoDark,
UIButtonTypeContactAdd,
UIButtonTypeRoundedRect = UIButtonTypeSystem, // Deprecated, use UIButtonTypeSystem instead
};
UIButton *button = [UIButton buttonWithType:UIButtonTypeSystem];
button.tag = 100; // 给 Button 添加标记 在不同的方法中使用同一个控件
button.frame = CGRectMake(30, 170, 200, 40);
[self.window addSubview:button];
// 设置按钮文字,需要设置状态
[button setTitle:@"按钮" forState:UIControlStateNormal];
// [button setTitle:@"Hello" forState:UIControlStateHighlighted];
[button setTitleColor:[UIColor blueColor] forState:UIControlStateNormal]; // 给字体设置颜色
button.showsTouchWhenHighlighted = YES; // 高亮
// 给button绑定事件
[button addTarget:self // 接受消息的对象
action:@selector(buttonAction:) // 发送的消息
forControlEvents:UIControlEventTouchUpInside]; // 触发的方式
- (void) buttonAction
{
NSLog(@"咔");
// 通过 tag ,从父类视图中获取button
UIButton *btn = (UIButton *)[self.window viewWithTag:100];
[btn setTitle:@"点我" forState:UIControlStateNormal];
// 让 Button 失效
[btn removeTarget:self action:@selector(buttonAction) forControlEvents:UIControlEventTouchUpInside];
}
- (void) buttonAction:(UIButton *)sender
{
sender.backgroundColor = [UIColor redColor];
}
原文地址:http://blog.csdn.net/yadong_zhao/article/details/46335521