什么是按钮?
还有一个非常重要的UI控件---UIButton,俗称“按钮”
一般情况下,点击某个控件后,会做出相应反应的都是按钮
按钮的功能比较多,既能显示文字,又能显示图片,还能随时调整内部图片和文字的位置
UIButton的状态
normal(普通状态)
默认情况(Default)
对应的枚举常量:UIControlStateNormal
highlighted(高亮状态)
按钮被按下去的时候(手指还未松开)
对应的枚举常量:UIControlStateHighlighted
disabled(失效状态,不可用状态)
如果enabled属性为NO,就是处于disable状态,代表按钮不可以被点击
对应的枚举常量: UIControlStateDisabled
为了保证高亮状态下的图片正常显示,必须设置按钮的type为custom
按钮的常见方法:
- - (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;
- 设置按钮的背景图片
- 设置按钮的文字字体(需要拿到按钮内部的label来设置)
- btn.titleLabel.font = [UIFont systemFontOfSize:13];
- - (NSString *)titleForState:(UIControlState)state;
- 获得按钮的文字
- - (UIColor *)titleColorForState:(UIControlState)state;
- 获得按钮的文字颜色
- - (UIImage *)imageForState:(UIControlState)state;
- 获得按钮内部的小图片
- - (UIImage *)backgroundImageForState:(UIControlState)state;
- 获得按钮的背景图片
UIButton、UIImageView、UILabel的选择
- UIButton
- 特点
- 既能显示文字,又能显示图片(能显示2张图片,背景图片、内容图片)
- 长按高亮的时候可以切换图片\文字
- 直接通过addTarget...方法监听点击
- UIImageView
- 能显示图片,不能直接通过addTarget...方法监听点击
- UILabel
- 能显示文字,不能直接通过addTarget...方法监听点击
- 选择
- 仅仅是显示数据,不需要点击
- 建议选择UIImageView、UILabel
- 不仅显示数据,还需要监听点击
- 建议选择UIButton
- 其实UIImageView、UILabel也可以通过手势识别器来监听(后面课程会学)
- 长按控件后,会改变显示的内容
- 不用考虑了,选择UIButton(因为UIButton有highlighted这种状态)
- 同时显示2张图片:背景图片、内容图片
- 不用考虑了,选择UIButton