学习UI01
来源:互联网 发布:淘宝怎么查快递到哪了 编辑:程序博客网 时间:2024/06/06 03:56
IOS是Apple公司的移动操作系统。
UI(User Interface):用户界面,用户能看到的各种各样的页面元素。
IOS App = 各种各样的UI控件+业务逻辑和算法。
UIWindow
window是窗口,每个app都需要借助window将内容展现给用户看。
在ios中,使用UIWindow类来表示窗口,通常一个应用程序只创建一个UIWindow对象。并不对对window做太太多操作。
//创建窗口大小,并设置窗口的大小
//窗口大小跟屏幕一样大,屏幕的大小通过UIScreen类获得
self.window = [[UIWindowalloc] initWithFrame:[[UIScreenmainScreen] bounds]];
//设置窗口的背景色
self.window.backgroundColor = [UIColorwhiteColor];
//设置刚创建的window对象,作为主窗口并展示在屏幕上
//屏幕只能展示一个window对象
[self.windowmakeKeyAndVisible];//窗口显示在屏幕上
UIView
重要属性:hidden,alpha,superview,subviews,tag。
view(视图):代表屏幕上的一个矩形区域。ios中用UIView来表示视图
ios中所有能看见的内容都是viewhuo其子类。
//1.创建视图对象
CGRect greenRect =CGRectMake(100,100, 100,100);//设置视图要显示的位置origin(x,y)和大小size(width,height)
UIView * greenView = [[UIViewalloc] initWithFrame:greenRect];//初始化优先使用自己的初始化方法
//2.设置视图的背景颜色
greenView.backgroundColor = [UIColorgreenColor];//backgroundColor背景颜色,属性设置要找到同类型
//3.将绿色视图添加到窗口上显示
[self.windowaddSubview:greenView];//执行addSubview,greenView引用计数加1;Subview子视图
//4.释放已经创建的绿色视图
[greenView release];
UIView的属性frame是NSRect结构体类型包含:origin(CGPoint结构体类型:x,y),size(CGSize结构体类型:width,height);
//将结构体类型转换为NSString类型
NSLog(@"%@",NSStringFromCGRect(redView.frame));
3.5寸
大小 320x480 点
分辨率:640x960 每个点分到4个像素
4 寸
320x568 点
原点 (0,0)-----------x
|
|
|y
1.frame是UIView的重要属性,CGRect类型。是我们做视图布局的关键
2.frame决定了视图的位置和大小
3.CGRect中包含两个成员变量CGPoint类型的origin和CGSize类型的size。
4.CGSize中包含两个成员变量 x,y
5.CGSize中包含两个成员变量 width、height
frame的origin和size是相对于父视图来说的;CGRectMake()函数可以帮我们快速构造一个CGRect变量
6.ios坐标系的单位是点
7.3.5寸(3gs、4、4s)320*480
8.4寸(5、5c、5s) 320*568
center
center(中心点)也是view重要的属性。
center是CGPoint结构体类型,(x,y);
//center是中心点
greenView.center =CGPointMake(300, 300);
center与frame有着密切的联系,改变相互影响。
center.x = frame.origin.x+frame.size.width/2;
center.y= frame.origin.y+frame.size.height/2;
self.window.subviews//subviews显示所有子视图,返回NSArray
aView.superview//显示父视图
视图是用树形结构管理子视图.
addSubview添加视图:
1.同级视图,后添加覆盖前添加的视图。
2.子视图覆盖父视图,不能覆盖与父视图同级的视图;
方法insertSubview:(UIView *)atIndex:(NSInterge)添加视图
根据下标插入视图
方法
superview insertSubview:dView belowSubview:aView//bView插入aView的下面
superview insertSubview:dView aboveSubview:aView//bView插入aView的上面
superview bringSubviewToFront:aView//将视图aView,移动到最前面
superview sendSubviewToBack:bView//将视图bView,移动到最后面
superview exchangeSubviewAtIndex:withSubviewAtIndex://视图交换位置
[cView removeFromSuperview]//让cView视图消失
1、一个视图作为父视图时,可以添加多个子视图。
2、一个视图作为子视图时,只能有一个父视图。
3、新添加的(后添加的)的子视图,永远显示在其他同级的子视图的前面(上面)
4、父视图使用数组管理所有的子视图subViews
5、视图使用树形结构,管理所有子视图
6、父视图可以修改已存在的所有子视图的关系:提前,置后,交换。子视图可以从父视图上移除。以上操作均会影响subViews。
7、父视图可以直接添加子视图。插入子视图:根据索引值;显示在指定子视图上面;显示在指定子视图的下面。
8、viewWithTag: 通过tag值搜索本视图及所有子视图。tag值默认为0.通过tag值搜索本视图及所有子视图。tag值两位起10。(如果子视图是tag=0,返回的是父视图,因为先搜索父视图)
//属性hidden,父视图隐藏了子视图一起隐藏
dView.hidden = YES;//隐藏
dView.hidden = NO;//显示(默认)
//属性alpha,透明度范围0.0-1.0,默认(1.0)
//父视图改变透明度,子视图一起改变;子视图不影响父视图
aView.alpha = 0.5;
要点:App靠window来呈现内容,一个程序一般只创建一个window。
App中能看到的元素,都是UIView及其子类。
UIView作为所有可视化控件BaseClass,提供了许多属性和方法。显示效果控制(frame,alpha等),视图添加和移除,视图层次调整。
- 学习UI01
- UI01绘图
- UI01-UIView(示例代码)
- UI01程序的生命周期
- UI01-第一个UI程序
- 学习
- 学习
- 学习
- 学习
- 学习
- 学习
- 学习
- 学习
- 学习
- 学习
- 学习
- 学习
- 学习
- 通信网project——最大通过率问题
- mac 在连接wifi时出现“无互联网连接”的警告,叹号
- Android自定义Dialog
- C++ primer 读书笔记(2)
- 如何获取被禁用的网卡的信息,如网卡MAC,网卡名称
- 学习UI01
- Scala 函数
- 使用脚本运行telnet 设置android gps
- 如何在Windows系统上设置Tor
- NSNumber格式化显示
- Android触控基础:MotionEvent
- Spring MVC 中处理静态资源
- dfhdf
- 10382 - Watering Grass(贪心 区间覆盖问题)洒水面覆盖