UI基础--(2)UIWindow、坐标、UIView 、UIlabel
UIWindow
1.iPhone应用程序通常只有一个窗口,表示为一个UIWindow类的实例。应用程序在启动时创建这个窗口,并往窗口中加入一或多个视图并显示出来。
2.UIWindow对象是所有UIView的根,管理和协调应用程序的显示。一般应用程序只有一个UIWindow对象,即使有多个UIWindow对象,也只有一个UIWindow可以接受到用户的触屏事件。
备注:UIWindow继承自UIView
UIView使用
1.UIView初步介绍
ios中一切看得见摸得着的类都是直接或者间接的继承自UIView
2.UIView作用
1)视图是UIView类的实例,负责在屏幕上定义一个矩形区域。
视图在展示用户界面及响应用户界面交互方面发挥关键作用。
每个视图对象都要负责渲染视图矩形区域中的内容,并响应该区域中发生的操作事件。视图是应用程序与用户交互的重要机制。除了显示内容和处理事件之外,视图还可以用于管理一或多个子视图。
2)子视图是指嵌入到另一视图对象边框内部的视图对象,而被嵌入的 视图则被称为父视图或超视图。视图的这种布局方式被称为视图层 次,一个视图可以包含任意数量的子视图,通过为子视图添加子视 图的方式,视图可以实现任意深度的嵌套。子视图总是被显示在其 父视图的上方。每个父视图都负责管理其直接的子视图,根据需要 调整它们的位置和尺寸,以及响应它们没有处理的事件。
3.iPhone屏幕是用点来计算坐标的
型号 x y
iPhone4 320 * 480
iPhone4S 320 * 480
iPhone5 320 * 568
iPhone5S 320 * 568
iPhone6 375 * 667
iPhone6 Plus 414 * 736
普通屏幕 1点=1像素
retina屏幕 1点 = 4像素
6 Plus 1点 = 9像素
4.iPhone的坐标系
1) 原点在左上角
2) 往右为x的正方向,往下为y的正方向
5.UIView常见属性和坐标属性
1)IOS中的坐标系统
2)frame: 该view在父view坐标系统中的位置和大小。 (参照点是,父亲的坐标系统)
3)bounds:该view在自身坐标系中的位置和大小。 (参照点是,自己的坐标系)
4)center:该view的中心点在父view坐标系统中的位置。
(参照点是,父亲的坐标系统)
frame的修改
UILabel *lab1 = [[UILabel alloc]initWithFrame:CGRectMake(0, 120, 100, 100)];
lab1.backgroundColor = [UIColor grayColor];
[self.window addSubview:lab1];
// 改frame 里面的size(核心三步曲)
// 1.先用临时值存起来
CGRect temprect = lab1.frame;
// 2.修改临时属性
temprect.size = CGSizeMake(60, 60);
// 3.再赋值回去
lab1.frame = temprect;
6.UIView的层次关系
1)添加子视图:addSubView
2)从父视图移除:removeFromSuperview
7.UIColor颜色创建和常用颜色
========================
UIlabel
1.UIFont类常用方法
1)创建一个UIFont对象
(UIFont *)fontWithName:(NSString *)name size:(CGFloat)size
2)遍历系统字体库
(NSArray *)familyNames
3)设置加粗
(UIFont *)boldSystemFontOfSize:(CGFloat) size
2.UILabel如何改变字体颜色
1)字体颜色:setTextColor
2)文字阴影颜色:setShadowColor
3)设置文字阴影偏移: setShadowOffset
4)设置高亮:highlighted
5)设置高亮颜色:highlightedTextColor
3.UILabel文字对齐方式:setTextAlignment
1)NSTextAlignmentLeft -> 左对齐
2) NSTextAlignmentCenter ->居中对齐
3)NSTextAlignmentRight ->右对齐
4.UILabel多行显示:numberOfLines
5.自适应内容,根据内容大小设置UILabel的frame
课后作业:创建一个程序,模拟QQ聊天时候的效果
ps:Xcode6.0使用空工程
把Empty Application.xctemplate 拷贝到/Applications/ Xcode.app/Contents/Developer/Platforms/ iPhoneOS.platform/Developer/Library/Xcode/Templates/ Project Templates/iOS/Application