UI: 用户界面,用户能看到的各种各样的页面元素.
IOS App = 各种各样的UI控件 + 业务逻辑算法.
UIVindeow : 在iOS 中,使用UIWindow类来表示窗口,通常一个应用程序只创建一个UIWindow对象.
window的主要作用是呈现内容给用户,我们不会对对它做太多的操作
创建window:
通常window的大小(frame)与屏幕(UIScreen)的大小一致.
self.window = [ [UIWindow alloc] initWithFrame: [ [ UIScreen mainScreen ] bounds] ];
view (视图) : 代表屏幕上的一个矩形区域. ios中用UIView来表示视图
iOS 中所有能看到的内容都是 view 或其子类.
创建view:
1.开辟空间并初始化视图 (初始化时,给出视图的位置和大小)
2.对视图做一些设置 (eag: 背景颜色)
3.将视图添加到window上进行显示
4.释放视图对象
代码:
UIView *blueView = [[UIView alloc] initWithFrame:CGRectMake(100, 100, 120, 100)];blueView.backgroundColor = [UIColor blueColor]; [self.window addSubview:blueView]; [blueView release];frame:
frame 是 view 的重要属性,是我们做视图布局的关键,它决定视图的大小和位置.
frame 是一个结构体,包含 :origin和size
origin 也是一个结构体,包含 :x 和 y
size 同样也是一个结构体,包含 width 和 height
frame 的 origin 和 size 是相对于父视图来说的
CGRectMake()函数可以帮我们快速的构造一个CGRect变量
IOS 坐标系
ios提供了用于布局的平面坐标系.左上角为坐标的原点.
水平向右 : 为 x 的正方向. 屏幕最左到最右可划分 320 等份
垂直向下: 为 y 的正方向. 屏幕最上道最下可划分为480 等份 (3.5寸屏幕).
坐标系不是以像素作为划分依据,而是以"点"作为依据.
center :
center (中心点)也是view重要的属性
center 是个结构体,包含: x 和 y
center.x = frame.origin.x + frame.size.width/2;
center.y = frame.origin.y + frame.size.height/2;
bounds:
bounds(边界)也是view的重要属性,用于定义自己的边界.其和frame一样是一个CGRect结构体变量.
当一个view设置bounds时,会把自己当成一个容器,定义自己的边界大小 以及 左上角的初始坐标.
当子视图添加到此视图时, 会根据bounds 指定的原点 (0,0)计算frame,而非左上角.
创建UILabel与创建UIView的步骤很相似。
1、开辟空间并初始化(如果本类有初始化⽅方法,使⽤用⾃自⼰己的;否则使⽤用⽗父类的)。
2、设置⽂文本控制相关的属性
3、添加到⽗父视图上,⽤用以显⽰示
4、释放
UILabel *userNameLabel = [[UILabel alloc]
initWithFrame:CGRectMake(30, 100, 100, 30)];
userNameLabel.text=@"⽤用户名";[containerViewaddSubview:userNameLabel];[userNameLabelrelease];
控制文本显示
属性名: text 要显示的文本内容 eg:label.text=@"用户名";
属性名: textColor 文本内容的颜色 eg:label.textColor = [UIColor redColor];
属性名: textAlignment 文本对齐方式(水平方向) eg:label.textAlignment =NSTextAlignmentLeft;
属性名: font 文本字体 eg:label.font = [UIFont fontWithName:@"Helvetica-Bold " size:20];//黑体加粗.20号字
属性名:numberOfLines 行数 eg:label.numberOfLines =3;//显示3行,注意label的高度要能容纳3行.如果3行没能显示完信息,没显示的信息以省略号代替.
属性名:lineBreakMode 断行模式 eg:label.lineBreakMode =NSLineBreakByWordWrapping;//以单词为单位换行.
属性名:shadowColor 阴影颜色 eg:label.shadowColor = [UIColor yellowColor]//阴影颜色
属性名:shadowOffset 阴影大小 eg:label.shadowOffset = CGSizeMake(2,1);//阴影向x 正方向偏移2,向y正方向偏移1.
UIView 是所有可视化控件的基类
UILabel 是具有特定外观特定功能的视图
UILabel 侧重于文本的呈现