UIKit框架之—— UIButton

本文详细介绍了UIButton的使用,包括初始化、设置样式、文字、颜色、图片以及事件监听。讲解了不同类型的按钮样式,如UIButtonTypeCustom、UIButtonTypeRoundedRect等,并探讨了不同UIControlState下的状态调整,如正常、高亮、禁用和选中。此外,还提到了如何处理按钮点击事件。

按钮通常使用 Touch Up Inside 事件来体现,能够抓取用户用手指按下并在该按钮上松开发生的事件。
当检测到事件后,便可能触发相应视图控件中的操作(IBAction)

//创建一个按钮 初始化按钮的frame
UIButton *button = [[UIButton alloc] initWithFrame:CGRectMake(50,50,50,50)];
//创建一个圆角矩形的按钮
UIButton *button = [[UIButton buttonWithType:UIButtonTypeRoundedRect];

// 设置背景色
button.backgroundColor =[UIColor whiteColor];
// 字体大小
button.titleLabel.font = [UIFont systemFontOfSize:14];
// 在view上的位置
button.frame =CGRectMake(20,20,20,20)
// 文字内容
[button setTitle:@“这是按钮哦” forState:UIControlStateNormal];
// 文字颜色
[button setTitleColor:[UIColor blackColor] forState:UIControlStateNormal];
// 图片
[button setImage:[UIImage imageNamed:[UIImage imageNamed:@“123.png”]] forState:UIControlStateNormal];

//监听按钮点击
[button addTarget:self action:@selector(buttonClick:) forControlEvents:UIControlEventTouchUpInside];
//按钮添加到视图中
[self.view addSubview:button];

按钮的样式 :ButtonWithType:
UIButtonTypeCustom: 自定义风格
UIButtonTypeRoundedRect : 圆角矩形
UIButtonTypeDetailDisclosure:蓝色小箭头,主要做详细说明用
UIButtonTypeInfoLight: 亮色感叹号
UIButtonTypeInfoDark:暗色感叹号
UIButtonTypeContactAdd: 十字加号按钮

按钮的状态:forState
UIControlStateNormal 常规状态
UIControlStateHighlighted 高亮状态
UIControlStateDisabled 禁用状态
UIControlStateSelected 选中状态

//设置按钮中的文字
- (void)setTitle:(nullable NSString *)title forState:(UIControlState)state;

//设置按钮中的文字颜色
-(void)setTitleColor:(nullable UIColor *)color forState:(UIControlState)state

//设置标题阴影的变化方式
- (void)setTitleShadowColor:(nullable UIColor *)color forState:(UIControlState)state UI_APPEARANCE_SELECTOR; // default is nil. use 50% black

//设置按钮中的图片
- (void)setImage:(nullable UIImage *)image forState:(UIControlState)state; // default is nil. should be same size if different for different states

//设置按钮中的背景图片
- (void)setBackgroundImage:(nullable UIImage *)image forState:(UIControlState)state UI_APPEARANCE_SELECTOR; // default is nil

  • (void)setAttributedTitle:(nullable NSAttributedString *)title forState:(UIControlState)state NS_AVAILABLE_IOS(6_0); // default is nil. title is assumed to be single line

         * 默认情况下,当按钮高亮的情况下,图像的颜色会被画深一点,如果这下面的这个属性设置为no,
         * 那么可以去掉这个功能
        */
        button1.adjustsImageWhenHighlighted = NO;
        /跟上面的情况一样,默认情况下,当按钮禁用的时候,图像会被画得深一点,设置NO可以取消设置/
        button1.adjustsImageWhenDisabled = NO;
        /* 下面的这个属性设置为yes的状态下,按钮按下会发光*/
        button1.showsTouchWhenHighlighted = YES;

【常用】点击事件
Sent Events :

  Did End On Exit    用户点击return 或者 done 按钮
  Editing Changed   字符增减,cursor改变位置等
  Editing  Did Begin  当field得到焦点
  Editing  Did  End    焦点离开field

   Touch  Cancel       取消当前区域的点击操作
   Touch  Down         按下按钮
   Touch  Down Repeat     重复按下按钮

   Touch  Drag Enter         仅当触摸拖动进入控件范围时发生一次
   Touch  Drag Exit            仅当触摸拖动离开控件范围时发生一次

   Touch  Drag Inside         当触摸拖动在控件范围内会随用户的持续拖动而持续发生
   Touch  Drag Outside       当触摸拖动离开控件范围后会随用户的持续拖动而持续发生

   Touch Up Inside     按住按钮后  在按钮范围内松开 (常用)
   Touch Up Outside  按住按钮后  在按钮范围外松开
   Value Changed  一个点击拖拽或者操作一个区域 产生一系列的值
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值