User Interface,简称UI 指用户界面
IOS7之前UI外观以虚拟化为主, 注重立体, 阴影的配搭 IOS7 开始以线条为主, 倾向于扁平化, 更着重于体现应用程序的内容
App靠window来呈现内容, 一个程序一般只会创建一个window. App中能看到的元素, 都是UIView及其子类
Window是窗口, 呈现内容给用户,
Frame是一个结构体,包含两部分的内容, origin和size.Origin包含x和y size包含width和height frame的origin和size是相对父视图来说的 这里的Frame, origin和size都是结构体.
Center中心点包含x与y. center.x = frame.origin.x+frame.size.width/2;
在指定的index处插入子视图 insertSubview:atindex:
在指定的视图上面添加子视图 insertSubview:aboveSubview:
在指定的视图下面添加子视图 insertSubview:belowSubview:
把指定的子视图移动到最前面 bringSubviewToFront:
把指定的子视图移动到最后 sendSubviewToBack:
交换两个指定索引位置的子视图 exchangeSubviewAtindex:withSubviewAtindex:
把指定视图从父视图上移除 removeFromSuperview:
属性:
hidden(控制视图的显隐 yes为隐藏,默认no)
alpha(控制视图的不透明度,子视图也会受到影响, 取值范围0 ~ 1. 为0 后完全隐藏,并且会失去交互功能, 默认为1)
superview(获取本视图的父视图)
subview(获取本视图的所有子视图)
tag(给视图添加标记, 可以使用viewWithTag:取出)
UILabel(标签) 是现实文本的控件 出现频率很高, 我们要显示的很多内容都是通过UILabel来显示的
UIlabel是UIView的子类
属性
text(要显示的文本内容)
textColor(文本内容的颜色)
textAlignment(文本的对其方式)
font(文本字体)
numberOfLines(行数) 当行数设置为0时并不是指空, 而是表示不限制行数 设置为其它行数时, 如果不够显示内容, 会有省略号来代替一些内容
lineBreakMode(断行模式) 以某种指定条件进行换行
shadowColor(阴影颜色)
shadowOffset(阴影大小) 使用CGSizeMake(x,y)试着阴影向x轴和y轴的偏移量, 在这里x,y的偏移位置是相对于Label本身的位置. 阴影的投影方向与IOS坐标系统的四个象限一致.(+ +第一象限, 右下方) (- + 第二象限, 左下方) (- - 第三象限, 左上方) (+- 第四象限, 右上方)
UIlabel侧重于文本的展示
UITextField(输入框) 控制文本输入和显示的空间. UITextField和UILabel相比, UIlabel主要用于文字显示, 不能编辑, UITextField与unxuyonghu编辑文字
UITextField核心功能主要包含3个方面:文本显示, 输入控制, 外观配置
属性:
拥有UIlavel的属性
placeholder(占位字符串, 也就是在没有任何输入的时候, 给出的提示字符串)
enabled(是否允许输入, 默认为YES时允许输入的)
clearsOnBeginEditing(是否开始输入的时候清空输入框内容)
secureTextEntry(是否文字以原点格式显示, 常用与密码的输入, 默认是NO.)
keyboardType(弹出键盘的类型(枚举值)) UIKeyboardType + typeName 根据需求选择相应地键盘类型
returnKeyType(键盘右下角return按钮类型(枚举值))UIReturnKey + type. 根据需求来制定键盘右下角的return按钮内容
inputAccessoryView(输入视图上方的辅助视图(默认nil))
borderStyle(边框样式(枚举值))用来指定textField的样式, 用的比较多得是RoundedRect
clearButtonMode(清除按钮模式(枚举值))根据需求指定所需要的枚举值, 用来显示清除按钮
leftView(输入框左视图)
leftViewMode左视图的显示模式
UIButton(按钮)addTarget:forControlEvents:为按钮添加事件,forControlEvent是个枚举值, 具体指按钮的状态.
removeTarget:action:forControlEvent:(移除按钮的点击事件)
setTitle:forState:(设置指定状态下得标题)
titleForState:(获取指定状态下得标题)
setTitleColor:forState:(设置指定状态下得标题颜色)
setTitleShadowColor:forState:(设置指定状态下得标题阴影颜色)
就不一一列举了.
setImage:forState(设置指定状态下的前景图片)
imageForState(获取指定状态下得前景图片)
setBackgroundimge:(设置指定状态下得背景图片)
UIView是所有可视化控件的基类
UILabel, UITextField, UIButton是具有特定外观特定功能的视图
UILabel侧重于文本的呈现
UITextField侧重于输入
UIButton侧重于点击时间的处理
self.window = [[[UIWindow alloc] initWithFrame:[UIScreen mainScreen] bounds]] autorelease];//创建一个跟屏幕尺寸瞪大的window对象, 用于承载和显示界面
注意:视图的frame是依赖于父视图产生的坐标系统来确定其起始点的大小的. 视图的bounds是依赖于自身产生的坐标系统的, 默认起始点的值为0, 0与坐标系统原点重合, size与frame指定的size一致. 一旦修改了一个视图的bounds, 不会影响视图的位置(frame不变), 但是会让主神产生的坐标系统便宜, 导致添加在其子视图产生相对位置的变化.
视图的frame和center共同参考父视图产生的坐标系, frame的origin(起始点)发生改变, size(大小)发生改变都会影响center(中心点)的位置, center的修改只会影响frame的origin