基础控件
UIImage
什么是UIImage*
- UIKit框架提供了非常多的UI控件,但并不是每一个都很常用,有些控件很久都用不上,但是有些控件天天会用,比如UIButton、UILabel、UIImageView、UITableView等等
UIImage *image = [UIImage imageNamed:@"ThomasLJ"];
UILabel
- 要想让UILabel自动换行,设置Lines为0即可
// 显示的文字 @property(nonatomic,copy) NSString *text; // 设置字体 @property(nonatomic,retain) UIFont *font; // 文字颜色 @property(nonatomic,retain) UIColor *textColor; // 对齐模式(比如左对齐、居中对齐、右对齐) @property(nonatomic) NSTextAlignment textAlignment;
UIFont
-
UIFont代表字体,常见创建方法有以下几个:
+ (UIFont *)systemFontOfSize:(CGFloat)fontSize; //系统默认字体 + (UIFont *)boldSystemFontOfSize:(CGFloat)fontSize; //粗体 + (UIFont *)italicSystemFontOfSize:(CGFloat)fontSize; //斜体
UIButton
- normal(普通状态)
- 默认情况(Default)
- 对应的枚举常量:UIControlStateNormal
- highlighted(高亮状态)
- 按钮被按下去的时候(手指还未松开)
- 对应的枚举常量:UIControlStateHighlighted
- disabled(失效状态,不可点击状态)
- 如果enabled属性为NO,按钮就处于disable状态,表示按钮不可被点击
- 对应的枚举常量:UIControlStateDisabled
- 设置按钮在不同状态下得背景图片
- 为了保证高亮状态下得图片正常显示,必须设置按钮的type为custom
UIButton的样式
-
UIButton自带了很多不同的样式
UIButton *btn = [UIButton buttonWithType:UIButtonTypeCustom]; UIButtonTypeCustom:无类型,按钮的内容需要自定义 UIButtonTypeDetailDisclosure: UIButtonTypeInfoLight: UIButtonTypeInfoDark: UIButtonTypeContactAdd:
UIButton的常见设置
// 设置按钮的文字
- (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、UILable
- 不仅显示数据,还需要监听点击
- 建议选择UIButton
- 其实UIImageView、UILabel也可以通过手势书别器来监听事件
- 长按空间后,会改变显示的内容
- 直接选择UIButton(因为UIButton有highlighted这种状态)
- 同时显示2张图片:背景图片、内容图片
- 直接选择UIButton