设置button的selected状态下image和title的时候,要注意,本身对按钮的点击是不会改变selected状态的,需要我们在按钮的监听方法里去对这个值设置,才会触发到不同状态下

下面代码是通过button做的一个简易的复选框

#import "ViewController.h"

@interface ViewController ()

@end

@implementation ViewController

- (void)loadView{

self.view = [[UIView alloc]initWithFrame:[[UIScreen mainScreen]bounds]];

UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom];

[button setFrame:CGRectMake((self.view.bounds.size.width-180)/2, (self.view.bounds.size.height-44)/2, 180, 44)];

//normal

[button setImage:[UIImage imageNamed:[NSString stringWithFormat:@"login_checkbox_normal.png"]] forState:UIControlStateNormal];

[button setTitle:@"点我啊" forState:UIControlStateNormal];

[button setTitleColor:[UIColor blackColor] forState:UIControlStateNormal];

[button.titleLabel setFont:[UIFont systemFontOfSize:17]];

[button addTarget:self action:@selector(tapButton:) forControlEvents:UIControlEventTouchUpInside];

[self.view addSubview:button];

}

- (void)viewDidLoad {

[super viewDidLoad];

}

- (void)didReceiveMemoryWarning {

[super didReceiveMemoryWarning];

}

#pragma mark - 按钮点击事件

- (void)tapButton:(UIButton *)button{

[button setSelected:!button.isSelected];

if (button.isSelected) {

//selected

[button setImage:[UIImage imageNamed:[NSString stringWithFormat:@"login_checkbox_checked.png"]] forState:UIControlStateSelected];

[button setTitle:@"卧槽你真点" forState:UIControlStateSelected];

[button setTitleColor:[UIColor blackColor] forState:UIControlStateSelected];

[button.titleLabel setFont:[UIFont systemFontOfSize:17]];

}else{

//normal

[button setImage:[UIImage imageNamed:[NSString stringWithFormat:@"login_checkbox_normal.png"]] forState:UIControlStateNormal];

[button setTitle:@"点我啊" forState:UIControlStateNormal];

[button setTitleColor:[UIColor blackColor] forState:UIControlStateNormal];

[button.titleLabel setFont:[UIFont systemFontOfSize:17]];

}

}

@end

UIButton的selected状态相关推荐

  1. UIButton在不同状态下显示不同背景色

    参考自:原文地址(内容与原文并无区别,只是自己以后方便使用整理了一下) 1.UIButton的background是不支持在针对不同的状态显示不同的颜色. 2.UIButton的backgroundI ...

  2. 关于UIButton的highlighted状态的总结

    前两天写项目的时候纠结于button的highlighted属性不能保证它的高亮状态,最后用反复更新Default的背景图片的方法解决的 今天找到原因了, 在api中关于highlighted有这样的 ...

  3. 给UIButton设置不同状态下的背景色

    系统给出的UIButton设置背景是通过设置setImage和setBackgroundImage的方法,需要提供不同的图片素材.在开发中往往需要设置不同的纯色背景的button,而且往往没有图片.于 ...

  4. iOS如何保持UIButton的Highlighted状态

    方法1: - (void)highlightButton:(UIButton *)b { [b setHighlighted:YES]; }- (IBAction)onTouchup:(UIButto ...

  5. UIButton状态探索和自定义

    原文:UIButton 状态新解 – 网易云音乐大前端 控件状态 作为 iOS 开发者,一提到控件,就不得不提到 UIButton,它做为 iOS 系统最常用的响应用户点击操作的控件,为我们提供了相当 ...

  6. 【iOS 开发】基本 UI 控件详解 (UIButton | UITextField | UITextView | UISwitch)

    博客地址 : http://blog.csdn.net/shulianghan/article/details/50051499 ; 一. UI 控件简介 1. UI 控件分类 UI 控件分类 : 活 ...

  7. Android中View(视图)绘制不同状态背景图片原理深入分析以及StateListDrawable使用详解...

    2019独角兽企业重金招聘Python工程师标准>>> 今天继续给大家分享下View的相关知识,重点有一下两点:   1.View的几种不同状态属性            2.如何根 ...

  8. android listview 选中状态,Android:在ListView打开时将项目设置为选中状态?

    我正在使用适配器并且不想设置自定义背景颜色,但在drawable xml中使用android:state_selected. SetSelection对我不起作用,但也许这也是因为我需要SetNoti ...

  9. ios 按钮文字下划线_iOS - UIButton设置文字标题下划线以及下划线颜色

    创建button设置可以折行显示 - (void)viewDidLoad { [super viewDidLoad]; UIButton * button = [[UIButton alloc] in ...

最新文章

  1. Linux/Ubuntu下安装QQ2012
  2. 三点提升关键词排名的写作技巧
  3. ASP.NET MVC编程——视图
  4. 滑动窗口与拥塞窗口_流云哭翠-ChinaUnix博客
  5. centOS6.5如何从启动界面直接进入命令行界面和如何从图形界面进入命令行界面
  6. 【转】win32窗口的大小,居中,拖动
  7. c语言的api_为什么C语言依然是必学的编程语言?
  8. 在阿里云创建子域名,配置nginx,使用pm2部署node项目到ubuntu服务器
  9. window多台服务器文件同步,SyncToy 两台Windows电脑文件同步
  10. 数学建模-Logistic模型
  11. java集合实现冒泡排序_java实现冒泡排序算法
  12. gke google_使用ExternalDNS扩展GKE
  13. 怎么知道当前计算机用户名和密码,怎么查看电脑当前所设置的密码
  14. 从 Google Play 下载 APK 文件
  15. 32位linux升级64位系统下载地址,使用i386-32位Linux不能升级到amd64位,只能全新安装Linux-amd64版...
  16. 基于Matlab2012a的LineStretcher测线编号程序开发
  17. mint系统用wine打开exe文件
  18. 内存整理的原理是什么?
  19. 来测试下 2019 你一共写了多少行代码?
  20. 基于用户画像的精准营销决策建议

热门文章

  1. 手机端带二级菜单滑动导航的实现
  2. 哈工大软件构造lab2---实验心得
  3. 前端打包工具rollup、webpack、vite的区别
  4. 启动ucosii之四OSTaskCreate()
  5. jdk详细安装步骤图解
  6. jenkins基于Role Strategy Plugin插件的权限管理设置
  7. 计算机管理中其它设备问号,我的电脑设备管理器里有一其它设置上是问号怎么回事可以解决吗...
  8. java计算机毕业设计中国古诗词学习平台源码+mysql数据库+系统+lw文档+部署
  9. 用window10装逼
  10. 【太原seo】seo入门看什么书好_seo入门书籍推荐