1.UI 概述
UI(User Interface):用户界面,用户能看到的各种各样的页面元素。
iOS App = 各种各样的UI 控件 + 业务逻辑和算法。
2.创建window
window 大小(frame)通常和屏幕(UIScreen)大小一致
示例代码:
// CGRect rect = CGRectMake(0, 0, 320,480); //创建一个CGRect对象
self.window =[[[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]] autorelease];//释放一次
(1)开辟空间并初始化视图(初始化时,给出视图位置和大小)
(2)对视图做一些设置(比如背景颜色)
(3)将视图添加到window上显示
(4)释放视图对象
// 封装创建子视图的方法
- (void)createSubViews{
// aView 是局部变量
UIView * aView = [[UIView alloc] initWithFrame:CGRectMake(50, 60, 100, 200)];
[aView setBackgroundColor:[UIColor redColor]];
[self.window addSubview:aView];
[aView release];
课上代码
// UIView * eView = [[UIView alloc] initWithFrame:CGRectMake(60, 30,30, 60)];
// 添加属性,跨方法使用
self.eView = [[UIView alloc] initWithFrame:CGRectMake(60, 30,30, 60)];
[_eView setBackgroundColor:[UIColor blackColor]];
_eView.tag = 10;
[self.window insertSubview:_eView belowSubview:bView];
[_eView release];
//查找eView子视图
NSArray * arr = [_eView subviews];
NSLog(@"arr === %@",arr);
//输出window所有子视图
NSArray * arr1 = [self.window subviews];
NSLog(@"arr1 === %@",arr1);
- (void)insertFViewToEView
{
// 通过父视图获得子视图,再在子视图上添加子视图
UIView * fView = [[UIView alloc] initWithFrame:CGRectMake(80, 60, 100, 150)];
[fView setBackgroundColor:[UIColor orangeColor]];
//第一种获得eView视图的方法,子视图
// NSArray * subs = [self.window subviews];
// UIView * gView =[subs objectAtIndex:3];
// [gView addSubview:fView];
// [fView release];
//第二种 通过属性获得eView视图方法
// [self.eView addSubview:fView];
// [fView release];
//第三种 通过tag(视图的唯一标识)值来获得eView
// viewWithTag:遍历父视图和其子视图来找到标记为10的视图
UIView * currentView = [self.window viewWithTag:10];
[currentView addSubview:fView];
[fView release];
}
App靠window来呈现内容,一个程序一般只创建一个window。App中能看到的元素,都是UIView及其子类。 UIView作为所有可视化控件的BaseClass,提供了许多属性和方法。显示效果控制(frame、alpha等)、视图添加和移除(addSubview:等)、视图层次调整(bringSubviewToFront:等)等。