UI控件
什么是控件?
– 屏幕上的所有UI元素都叫做控件(也有叫做视图、组件)
– 比如按钮(UIButton)、文本(UILabel)都是控件控件的共同属性有哪些?
– 尺寸
– 位置
– 背景色
– ……苹果将控件的共同属性都抽取到父类UIView中
所有的控件最终都继承自UIView
UIButton、UILabel都继承自UIView(可以查看头文件验证)可能用上的UI控件
– UIButton 按钮
– UILabel 文本标签
– UITextField 文本输入框
– UIImageView 图片显示
– UIScrollView 滚动的控件
– UITableView 表格
– UICollectionView 九宫格
– UIWebView 网页显示控件
– UIAlertView 对话框(中间弹框)
– UINavigationBar导航条
– UIPageControl 分页控件
– UITextView 能滚动的文字显示控件
– UIActivityIndicator 圈圈
– UISwitch 开关
– UIActionSheet 底部弹框
– UIDatePicker 日期选择器
– UIToolbar 工具条
– UIProgressView 进度条
– UISlider 滑块
– UISegmentControl 选项卡
– UIPickerView 选择器
UIView
- 最纯洁、最干净的控件,拥有尺寸、位置、背景色等基本属性
UILabel-文本标签
- 图片控件,拥有图片属性
- 拥有尺寸、位置、背景色等基本属性
- 作用是显示一串固定的文字
UIButton
- 按钮的作用是:监听用户的点击事件,在用户点击后做出响应
UITextField-文本输入框
- 文本输入框可以弹出键盘,让用户输入文本内容
UITextView-能滚动的文字显示控件
- 如果文字内容比较多,需要换行显示,并且需要编辑
UIImageView
- 文本控件,拥有文字、文字颜色属性
- 拥有尺寸、位置、背景色等基本属性
UIProcessView-进度条
- 水平进度条,比如显示文件的下载进度,程序的启动进度
UISlider-滑块
- 在2个数值之间滑动选择,比如调节音量大小
UIActivityIndicator – 圈圈
- 一直在转圈圈,表示让用户等待
UIAlertView – 对话框(中间弹框)
- 从中间跳出一个框,提示用户下一步该做什么
UIActionSheet – 底部弹框
- 从底部跳出一个框,提示用户下一步该做什么
UIScrollView – 滚动的控件
- 如果内容比较多,超出了一个屏幕,就可以用它来显示
UIPageControl – 分页控件
- 能显示分页视图页码(大多是滚动小圆点)
UITableView – 表格
- 如果每一行显示的内容格式差不多,就用这个表格控件
UICollectionView – 九宫格
- 如果显示的东西是一块一块、一格一格的,而且每个格子长的差不多,就可以用它
UIWebView – 网页显示控件
- 一般用来显示网页,使用它,就可以在手机上浏览网页
UISwitch – 开关
- 要么打开,要么关上(大多绿白相间)
UISegmentControl – 选项卡
- 在固定的几个选项之间进行选择
UIPickerView – 选择器
- 在多行数据之间只选择一行
UIDatePicker – 日期选择器
- 选择日期
UIToolbar – 工具条
- 一般显示在底部或者键盘顶部,里面有几个小按钮
UINavigationBar – 导航条
- 显示在顶部的条
父控件,子控件
每个控件都是个容器,能容纳其他控件
内部小控件是大控件的子控件
大控件是内部小控件的父控件
每一个控制器(UIViewController)内部都有个默认的UIView属性
– @property(nonatomic,retain) UIView *view;
– 控制器中管理的其他所有控件都是这个view的子控件(直接或者间接)
UIView常见属性
@property(nonatomic,readonly) UIView *superview;
– 获得自己的父控件对象@property(nonatomic,readonly,copy) NSArray *subviews;
– 获得自己的所有子控件对象@property(nonatomic) NSInteger tag;
– 控件的ID(标识),父控件可以通过tag来找到对应的子控件@property(nonatomic) CGAffineTransform transform;
– 控件的形变属性(可以设置旋转角度、比例缩放、平移等属性)-(void)addSubview:(UIView *)view;
– 添加一个子控件view-(void)removeFromSuperview;
– 从父控件中移除-(UIView *)viewWithTag:(NSInteger)tag;
– 根据一个tag标识找出对应的控件(一般都是子控件)@property(nonatomic) CGRect frame;
– 控件矩形框在父控件中的位置和尺寸(以父控件的左上角为坐标原点)@property(nonatomic) CGRect bounds;
– 控件矩形框的位置和尺寸(以自己左上角为坐标原点,所以bounds的x、y一般为0)@property(nonatomic) CGPoint center;
– 控件中点的位置(以父控件的左上角为坐标原点)
UIKit坐标系
- 在UIKit中,坐标系的原点(0,0)在左上角,x值向右正向延伸,y值向下正向延伸