UIButton

UIButton(按钮):是响应⽤户点击的控件。侧重于处理⽤户交互 事件。
 
  • 创建UIButton与创建UILabel、UITextField、UIView的步骤很相似。
1、创建button对象(如果本类有初始化⽅法,则使⽤⾃⼰的初始化 ⽅法;否则使⽤⽗类的)。
2、设置按钮相关的属性
3、为按钮添加点击事件
4、添加按钮到⽗视图上,⽤以显⽰
5、按钮⽆需释放(⼀般情况创建UIButton都使⽤⾃⼰的便利构造器 ⽅法,⽆需释放对象的所有权)
 
//创建一个UIButton对象, UIButton侧重于交互,响应事件
   
    //如果button样式是system,那么不给定标题颜色,也能看见标题,默认为蓝色
    //如果button样式custom,那么除了给定标题内容之外,还需要给定标题文本颜色
    UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom];
//    UIButton *button = [UIButton buttonWithType:UIButtonTypeSystem];
    //设置frame
    button.frame = CGRectMake(100, 400, 200, 200);
   
    //设置button显示的文本(标题)
    [button setTitle:@"点这里" forState:UIControlStateNormal];
   
    //设置button的颜色
    [button setTitleColor:[UIColor blackColor] forState:UIControlStateNormal];
 
     //设置button的背景图片
    [button setBackgroundImage:[UIImage imageNamed:@"BtnOff.png"] forState:UIControlStateHighlighted];
 
             //设置button的前景图片
    [button setImage:[UIImage imageNamed:@"xigua"] forState:UIControlStateHighlighted];
 
     //点击时如果设置了图片,不出现按钮闪动的效果
    button.adjustsImageWhenHighlighted = NO;
 
     //非常关键的方法,为button添加一个事件
     //self是执行对象,click是要执行的方法 (必须实现)
    [button addTarget:self action:@selector(click:) forControlEvents:UIControlEventTouchUpInside];
   
    [containerView addSubview:button];
 
     //设置前景图片时,使用custom样式,如果图片大小大于button的大小,那么图片会被压缩到与button等大,如果图片大小小于button的大小,那么图片保留其原有大小
    //设置背景图片时,不论使用custom还是system,图片大于或者小于button大小,都会显示的与button等大
 
点击事件 及 Normal  Highlighted  Selected  三种state的使用
 
1.什么都没干的时候:Normal
 
2.当你的手指按下去,还没放的时候:Highlighted(高亮状态)
 
3.当手指放开的时候:如果这个 UIControl 有 Selected 状态的话,就会变成: Selected(Selected默认为NO,要显示Selected状态需要在点击方法中代码实现)
 
     //不设置selected的话默认为NO,当前显示Normal、按下Button后为Highlighted状态、松开按钮变回Normal状态
//Normal->Highlighted-> Normal
    [button setImage:[UIImage imageNamed:@"BtnOff.png"] forState:UIControlStateNormal];
     [button setImage:[UIImage imageNamed:@"xigua"] forState:UIControlStateHighlighted];
 
//当前显示Normal、点击button按住不放,显示Highlighted状态、手指放开为Selected状态、再点击放开为Normal状态
    //Normal->Highlighted-> Selected-> Normal
    [btn setBackgroundImage:[UIImage imageNamed:@"check"] forState:UIControlStateNormal];
    [btn setBackgroundImage:[UIImage imageNamed:@"xigua"] forState:UIControlStateHighlighted]; //一般实现两个图片交换时不设置高亮状态,并且将高亮状态设置为NO,此处只是为了演示三种状态的结合使用
    [btn setBackgroundImage:[UIImage imageNamed:@"checked"] forState:UIControlStateSelected];
    [btn addTarget:self action:@selector(change:) forControlEvents:UIControlEventTouchUpInside];
 
//    btn.adjustsImageWhenHighlighted = NO;
 
//实现按钮背景图交换的方法,实现selected状态
- (void)change:(UIButton *)button {
    button.selected = !button.selected;
}
 
 
 

转载于:https://www.cnblogs.com/Walking-Jin/p/5210773.html

1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 、4下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合;、下载 4使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合;、 4下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。
1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.m或d论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 、1资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值