UIButton总结
UIButton
1. 功能
- 既能显示文字,又能显示图片(能显示2张图片,背景图片、内容图片)
- 长按高亮的时候可以切换图片\文字
- 直接通过addTarget...方法监听点击
2. 状态
normal(普通状态)
- 默认情况(Default)
- 对应的枚举常量:UIControlStateNormal
highlighted(高亮状态)
- 按钮被按下去的时候(手指还未松开)
- 对应的枚举常量:UIControlStateHighlighted
disabled(失效状态,不可用状态)
- 如果enabled属性为NO,就是处于disable状态,代表按钮不可以被点击
- 对应的枚举常量:UIControlStateDisabled
3. 样式
- 在用代码创建按钮的同时指定按钮样式
- UIButtonTypeCustom:无类型,按钮的内容需要自定义
- UIButtonTypeDetailDisclosure:蓝色小箭头按钮,主要用来做详细说明
- UIButtonTypeInfoLight:亮色感叹号
- UIButtonTypeInfoDark:暗色感叹号
- UIButtonTypeContactAdd:十字加号按钮
UIButton *btn = [UIButton buttonWithType:UIButtonTypeCustom];
4. 常见设置
(void)setTitle:(NSString *)title forState:(UIControlState)state;
- 设置按钮的文字
(void)setTitleColor:(UIColor *)color forState:(UIControlState)state;
- 设置按钮的文字颜色
(void)setImage:(UIImage *)image forState:(UIControlState)state;
- 设置按钮内部的小图片
(void)setBackgroundImage:(UIImage *)image forState:(UIControlState)state;
- 设置按钮的背景图片
btn.titleLabel.font = [UIFont systemFontOfSize:13];
- 设置按钮的文字字体(需要拿到按钮内部的label来设置)
(NSString *)titleForState:(UIControlState)state;
- 获得按钮的文字
(UIColor *)titleColorForState:(UIControlState)state;
- 获得按钮的文字颜色
(UIImage *)imageForState:(UIControlState)state;
- 获得按钮内部的小图片
(UIImage *)backgroundImageForState:(UIControlState)state;
- 获得按钮的背景图片
5. 常见属性
- enable(是否可用)
//自定义
UIButton *btn = [UIButton buttonWithType:UIButtonTypeCustom];
//状态
setImage//图片
//设置按钮在不同状态下的背景图片(为了保证高亮状态下的图片正常显示,必须设置按钮的type为custom)
setBackgroundImage//背景图片
setTitle//文字
setTitleColor//文字颜色
//监听按钮
//当UIControlEventTouchUpInside时,调用btn的buttonClick方法
[btn addTarget:self action:@selector(buttonClick) forControlEvents:UIControlEventTouchUpInside];
因为UIImage和UILabel不是继承UIControl,只有继承UIControl才能通过addTarget来监听事件
只能通过enabled = NO达到UIControlStateDisables状态,设置userInterationEnabled = NO,并不能让按钮达到这个状态
UIButton总结的更多相关文章
- AFNetworking 3.0 源码解读(十一)之 UIButton/UIProgressView/UIWebView + AFNetworking
AFNetworking的源码解读马上就结束了,这一篇应该算是倒数第二篇,下一篇会是对AFNetworking中的技术点进行总结. 前言 上一篇我们总结了 UIActivityIndicatorVie ...
- 记录下UIButton的图文妙用和子控件的优先显示
UIButton的用处特别多,这里只记录下把按钮应用在图文显示的场景,和需要把图片作为按钮的背景图片显示场景: 另外记录下在父控件的子控件优先显示方法(控件置于最前面和置于最后面). 先上效果图: 1 ...
- iOS学习-UIButton的imageView和titleLabel
UIButton的imageView和titleLabel的位置设置通过setImageEdgeInsets和setTitleEdgeInsets来设置 参考:http://blog.csdn.net ...
- iOS小知识:使UIButton中的图片和文字实现左对齐
UIButton setImage 和 setTitle之后,默认的 image和title 对齐方式是居中, 由于 title 长度不固定,所以如果要几个这样有image有title的按钮纵向排列对 ...
- UIButton无法响应点击事件
一.问题描述 因为项目需要,需要UITableView上添加固定的筛选表头,一直固定,不能随UITableView滚动.所以直接将表头与UITableView分离,将它添加到控制器的UIView上,即 ...
- 布局包含Image和Title的UIButton
UIButton中的titleEdgeInsets和imageEdgeInsets可以管理button中image和title的布局. 如果对其理解不够深入,用纯数字进行布局管理,经过不断的调试,还是 ...
- UI控件(UIButton)
@implementation ViewController - (void)viewDidLoad { [super viewDidLoad]; // UIButtonTypeCustom = 0, ...
- 自定义UIButton
偶尔逛简书能看见很多值得记下来的东西,有的接触过有的没接触过,接触过的也可能过段时间就忘记了,再上手的时候可能手足无措,所以决定有些觉得值得记下来的东西还是记录一下.博客是个好地方,因为很多人都能搜索 ...
- UITableView或UIScrollVIew上的UIButton的高亮效果
UITableView或UIScrollVIew上的UIButton的高亮效果 原文地址:http://www.jianshu.com/p/b4331f06bd34 最近做项目的时候发现,UIScro ...
- UIButton
//UIButton->UIControl->UIView //UIControl 带有操作的控件都是继承于它的 //UIButton 实例化 类方法实例化 //实例化时没有位置及大小 ...
随机推荐
- JavaScript数组方法大集合
JavaScript数组方法集合 本文总结一下js数组处理用到的所有的方法.自己做个笔记. 数组方法 concat() 合并两个或多个数组 concat()能合并两个或者多个数组,不会更改当前数组,而 ...
- 由于xftp打开target目录,导致maven编译的时候target目录无法访问,打包失败
由于xftp打开target目录,导致maven编译的时候target目录无法访问,打包失败: 在xftp里关闭target目录就可以了...无时不在的坑
- vue中this.$set的用法
之前了解这个方法的时候,感觉这一辈子也用不到这个方法,因为当时没有应用场景,但是还真有用的时候,我相信你们也有用到时候. 从三个方面给大家说一下这个this.$set: 1.this.$set实现什么 ...
- 问题 Q: 最大的数
题目描述 小明和小红在打赌说自己数学学的好,于是小花就给他们出题了,考考他们谁NB,题目是这样的给你N个数 在这n个数之间添加N-1个*或+,使结果最大,但不可以打乱原顺序,请得出这个结果 如 1 3 ...
- 如何正确的找BUG
什么是BUG 漏洞是在硬件.软件.协议的具体实现或系统安全策略上存在的缺陷,从而可以使攻击者能够在未授权的情况下访问或破坏系统.具体举例来说,比如在Intel Pentium芯片中存在的逻辑错误,在S ...
- CPU被挖矿,Redis竟是内鬼!
却说这一日,Redis正如往常一般工作,不久便收到了一条SAVE命令. 虽说这Redis常被用来当做缓存,数据只存在于内存中,却也能通过SAVE命令将内存中的数据保存到磁盘文件中以便持久化存储. 只见 ...
- Hadoop HA集群 与 开发环境部署
每一次 Hadoop 生态的更新都是如此令人激动 像是 hadoop3x 精简了内核,spark3 在调用 R 语言的 UDF 方面,速度提升了 40 倍 所以该文章肯定得配备上最新的生态 hadoo ...
- Java包装类,以及Integer与int之间的比较
一.Java的基本类型 Java语言中提供了八种基本类型,包括六种数字类型(四个整数型,两个浮点型),一种字符类型,还有一种布尔型. 整数型,包括byte.short.int.long,默认初始值是0 ...
- java中static关键字的解析
静态的特点: A:随着类的加载而加载 B:优先于对象而存在 C:静态是被所有对象共享的数据 这也是我们来判断是否使用静态的标准 D:静态的出现,让我们的调用方式多了一种 类名.静态的内容 非静态的内容 ...
- Study Blazor .NET(三)组件
翻译自:Study Blazor .NET,转载请注明. 关于组件 blazor中组件的基础结构可以分为以下3部分, //Counter.razor //Directives section @pag ...