UI总结-UIView

                            UI总结-UIView

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {

// Override point for customization after application launch.

self.window = [[UIWindow alloc]initWithFrame:[[UIScreen mainScreen]bounds]];

self.window.backgroundColor = [UIColor whiteColor];

[self.window makeKeyAndVisible];

[_window release];

UIViewController *vc = [[UIViewController alloc]init];

self.window.rootViewController = vc;

[vc release];

//UIView表示屏幕上的一块矩形区域,几乎所有屏幕上能看到的元素都是UIView的或者他的子类

//UIView负责渲染矩形区域的内容,响应区域中的触摸事件,以及为矩形区域添加动画.

//UIWindow是iOS中的窗口类,主要负责管理和协调各个试图在设备屏幕上的展现.一个应用程序最好只有一个window

//window需要在APP启动的时候加载,window的尺寸要与屏幕大小一致.

//UIWindow继承于UIView

//创建一个新View

UIView *aView = [[UIView alloc]initWithFrame:CGRectMake(20, 20, 100, 100)];

//frame的坐标是相对于父试图而言的.

//bounds是相对自身坐标系

NSLog(@"aView bounds = %@",NSStringFromCGRect(aView.bounds));

NSLog(@"aView frame = %@", NSStringFromCGRect(aView.frame));

//UIView的属性

//背景颜色

aView.backgroundColor = [UIColor yellowColor];

//frame的中心坐标 center

aView.center = CGPointMake(70, 100);

//View的透明度改变 alpha

aView.alpha = 0.8;

//是否可以响应点击 userInteractionEnabled

aView.userInteractionEnabled = YES;

//是否可以隐藏 hidden

aView.hidden = NO;

//内容格式

aView.contentMode = UIViewContentModeScaleToFill;

[self.window addSubview:aView];

[aView release];

//View 的层级管理

//UIView的层级关系可以用树形结构来表述,每个View都是一个节点

//subview总是在superview之上,因为越晚加入的显示在上层.

//一个父试图可以有多个子试图,但每个子试图只能有一个父试图

//子试图的坐标是相对于自己的父试图的坐标系,所以在设置位置的时候一定要清楚,当前试图的父试图的位置.

//先被添加到数组的子试图,位置在最下面,而后添加的在层级的上方

//可以通过父试图来调整对应子试图的层级关系.

UIView *bView = [[UIView alloc]initWithFrame:CGRectMake(10, 10, 100, 100)];

bView .backgroundColor = [UIColor blueColor];

[aView addSubview:bView];

[bView release];

UIView *cView = [[UIView alloc]initWithFrame:CGRectMake(20, 10, 50, 50)];

[cView setBackgroundColor:[UIColor grayColor]];

[aView addSubview:cView];

[cView release];

//父试图改变一些属性会影响子试图的属性比如,alpha.hidden,frame 等

//父试图隐藏,子试图也跟着隐藏

aView.hidden = NO;

//如果子试图超出父试图的范围可以调用属性clipstobounds裁掉超出的部分

aView.clipsToBounds = YES;

//UIView的一些重要方法

//self.window insertSubview:<#(nonnull UIView *)#> aboveSubview:<#(nonnull UIView *)#>插入一个试图在某个试图的上面

//self.window insertSubview:<#(nonnull UIView *)#> atIndex:<#(NSInteger)#>插入一个试图在子试图的第几个

//self.window insertSubview:<#(nonnull UIView *)#> belowSubview:<#(nonnull UIView *)#>插入一个试图在某个试图的下面

//试图的整理

//self.window bringSubviewToFront:<#(nonnull UIView *)#>将某个试图放在父试图的最上方.

//self.window sendSubviewToBack:<#(nonnull UIView *)#>将某个试图放到父试图的最下方.

//self.window exchangeSubviewAtIndex:<#(NSInteger)#> withSubviewAtIndex:<#(NSInteger)#>交换试图的层级

[bView removeFromSuperview];//从父试图上移除该试图

return YES;

}


UI总结-UIView_第1张图片

你可能感兴趣的:(UI总结-UIView)