创建window
在创建window的时候,需要指定window的⼤⼩。通常window的⼤⼩(frame)与屏幕(UIScreen)⼤⼩⼀致。这里还是使用MRC模式来练习。
重写dealloc方法:
- (void)dealloc
{
[_window release];
[super dealloc];
}
创建window时使用autorelease:
self.window = [[[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]] autorelease];
self.window.backgroundColor = [UIColor whiteColor];
[self.window makeKeyAndVisible];
UIView
代表屏幕上的⼀个矩形区域,iOS中所有能看到的内容都是view或其⼦类。
创建步骤
开辟空间并初始化视图
UIView *view = [[UIView alloc]initWithFrame:CGRectMake(120, 100, 200, 50)];
对视图做一些设置 (比如:背景颜色)
view.backgroundColor = [UIColor yellowColor];
将视图添加到window上进行显示
[self.window addSubview:view];
释放视图对象
[view release];
frame
frame是⼀个结构体,包含2部分内容:origin和size。origin也是⼀个结构体,包含2部分内容:x和y。size同样是⼀个结构体,包含2部分内容:width和height。frame的origin和size是相对于⽗视图来说的。
center
center是个结构体,包含2个部分:x和y。
center.x = frame.origin.x + frame.size.width/2;
center.y = frame.origin.y + frame.size.height/2;
bounds
bounds 边界 可以控制子视图的坐标系, 默认的bounds 就是从(0,0)点开始, 改变父视图的bounds 相当于改变子视图的坐标系(也就是原点坐标), 父视图是不会发生变化,只是更改子视图的位置。
view1.bounds = CGRectMake(10, 10, 100, 30);
(子视图的原点坐标,相对来说向左移10,向上移10。word版自制图片:)
frame、bounds、center之间的联系
常用方法
insertSubview:atIndex:
在指定的index处插⼊⼦视图
示例:[superview insertSubview:View atIndex:1];insertSubview:aboveSubview:
在指定的视图上⾯添加⼦视图
示例:[superview insertSubview:grayView aboveSubview:redView];insertSubview:belowSubview:
在指定的视图下⾯添加⼦视图
示例:[superview insertSubview:grayView belowSubview:redView];bringSubviewToFront:
把指定的⼦视图移动到最前⾯
示例:[superview bringSubviewToFront:redView];sendSubviewToBack:
把指定的⼦视图移动到最后⾯
示例:[superview sendSubviewToBack:redView];exchangeSubviewAtIndex: withSubviewAtIndex:
交换两个指定索引位置的⼦视图
示例:[superview exchangeSubviewAtIndex:0 withSubviewAtIndex:2];removeFromSuperview
从⽗视图上移除
示例:[View removeFromSuperview];
重要属性
UILabel
显⽰⽂本的控件。UILabel是UIView⼦类,是能显⽰⽂字的视图。UILabel是具有特定外观特定功能的视图,侧重于⽂本的呈现。创建过程与UIview相同。