UIButton 1.创建方式: UIButton*btn = [UIButton buttonWithType:<#(UIButtonType)#>]; 常用的按钮类型有: UIButtonType
UIButton
1.创建方式:
UIButton*btn = [UIButton buttonWithType:<#(UIButtonType)#>];
常用的按钮类型有:
UIButtonTypeCustom(自定义,一般)
UIButtonTypeSystem(系统其他,很少)
其他类型
UIButtonTypeDetailDisclosure,
UIButtonTypeInfoLight,
UIButtonTypeInfoDark,
UIButtonTypeContactAdd,
UIButtonTypeRoundedRect = UIButtonTypeSystem,
2.按钮的状态 继承 UIControl的属性
UIControlStateNormal = 0, 普通状态
UIControlStateHighlighted 高亮状态
UIControlStateDisabled 不可用状态
UIControlStateSelected 被选中状态
3.按钮触发的事件 继承 UIControl的属性 下面是从系统头文件中拿出来的,两个经常用的事件已经被我圈黄
UIControlEventTouchDown = 1 << 0, // on all touch downs
UIControlEventTouchDownRepeat = 1 << 1, // on multiple touchdowns (tap count > 1)
UIControlEventTouchDragInside = 1 << 2,
UIControlEventTouchDragOutside = 1 << 3,
UIControlEventTouchDragEnter = 1 << 4,
UIControlEventTouchDragExit = 1 << 5,
UIControlEventTouchUpInside = 1 << 6,
UIControlEventTouchUpOutside = 1 << 7,
UIControlEventTouchCancel = 1 << 8,
UIControlEventValueChanged = 1 << 12, // sliders, etc.
UIControlEventPrimaryActionTriggered NS_ENUM_AVAILABLE_IOS(9_0) = 1 << 13, // semantic action: for buttons, etc.
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
4.特别注意
按钮应该加在 View 的属性 userInteractionEnabled(能否和用户交互属性) 是 YES的View上才有效果
5.应用实例
UIButton*btn = [UIButton buttonWithType:UIButtonTypeCustom];
//设置位置和大小
btn.frame = CGRectMake(99, 99, 99, 99);
//设置背景颜色
btn.backgroundColor = [UIColor redColor];
//添加点击时间(UIControlEventTouchUpInside放开时在按钮内 不知道怎么描述了都)
[btn addTarget:self action:@selector(print:) forControlEvents:UIControlEventTouchUpInside];
//设置title 参数一title 参数二 什么状态
[btn setTitle:@"Normal" forState:UIControlStateNormal];
[btn setTitle:@"Selected" forState:UIControlStateSelected];
//设置标题颜色 Normal默认应用到其他状态
[btn setTitleColor:[UIColor greenColor] forState:UIControlStateNormal];
//设置背景图片
[btn setBackgroundImage:[UIImage imageNamed:@"normal"] forState:UIControlStateNormal];
[btn setBackgroundImage:[UIImage imageNamed:@"selected"] forState:UIControlStateSelected];
//设置图片 图片保持图片大小
// [btn setImage:[UIImage imageNamed:@"normal"] forState:UIControlStateNormal];
// [btn setImage:[UIImage imageNamed:@"selected"] forState:UIControlStateSelected];
//设置标题偏移量
[btn setTitleEdgeInsets:UIEdgeInsetsMake(120, 0, 0, 0)];
//设置点击时是否闪光
btn.showsTouchWhenHighlighted =YES;
//设置不可用时是否用系统的自动调节
btn.adjustsImageWhenDisabled = NO;
//设置高亮时是否用系统的自动调节
btn.adjustsImageWhenHighlighted = NO;
//将按钮添加到self.view上
[self.view addSubview:btn];
}
-(void)print:(UIButton*)btn{
//改变 按钮的选择状态
btn.selected = ! btn.selected;
//改变按钮的可用状态
// btn.enabled = btn.enabled;
}