iOS控件之UIView基础以及层级关系
这段代码写在#import "ViewController.h"
UIView基础
- (void)viewDidLoad {
[super viewDidLoad];
//创建一个UIView对象
//UIView是iOS中的视图对象
//显示在屏幕上的所有的对象的基础类
//所有显示在屏幕上的对象一定都继承于UIView
//屏幕上能看到的对象都是UIView的子类
//UIView是一个矩形对象,有背景颜色的,可以显示,有层级关系
UIView* view = [[UIView alloc] init];
//设置UIView的位置
view.frame = CGRectMake(100, 100, 100, 200);
//背景颜色
view.backgroundColor = [UIColor orangeColor];
//将新建的视图添加到父亲视图上
//1.将新建的视图显示到屏幕上
//2.将视图作为父亲视图的子视图管理起来
[self.view addSubview:view];
//是否隐藏视图对象
//YES:不显示
//NO:显示,默认为NO
view.hidden = NO;
//设置视图的透明度
//alpha = 1; //不透明
//alpha = 0; // 透明
//alpha = 0.5; //半透明
view.alpha = 0.5;
self.view.backgroundColor = [UIColor blueColor];
//设置是否显示不透明
view.opaque = NO;
//将自己从父亲视图删除掉
//1.从父亲视图的管理中删除
//2.不会显示在屏幕上
//[view removeFromSuperview];
}
#import "ViewController.h"
UIView层级关系
- (void)viewDidLoad {
[super viewDidLoad]
//创建三个视图对象
UIView* view01 = [[UIView alloc] init];
view01.frame = CGRectMake(100, 100, 150, 150);
view01.backgroundColor = [UIColor blueColor];
UIView* view02 = [[UIView alloc] init];
view02.frame = CGRectMake(125, 125, 150, 150);
view02.backgroundColor = [UIColor orangeColor];
UIView* view03 = [[UIView alloc] init];
view03.frame = CGRectMake(150, 150, 150, 150);
view03.backgroundColor = [UIColor greenColor];
//将三个视图对象显示到屏幕上
//并且添加到父亲视图上
//哪一个视图先添加到父亲视图中,就先绘制哪一个视图
//哪一个视图被最后一个添加到父亲视图中,就最后绘制哪一个视图
[self.view addSubview:view01];
[self.view addSubview:view02];
[self.view addSubview:view03];
//将某一个视图调整到最前面显示
//参数:UIview对象,调整哪一个视图到最前方
//[self.view bringSubviewToFront:view01];
//将某一个视图调整到最后面显示
//参数:UIView对象,调整哪一个视图到最后方
//[self.view sendSubviewToback:view02];
//subviews是管理所有self.view的子视图的数组
//UIView* viewFront = self.view.subviews[2];
UIView* viewBack = self.view.subviews[0];
if (viewBack == view01) {
NSLog(@"相等!");
} else {
NSLog(@"不相等!");
}
}
个人总结:根据自己想要的效果,注意添加的顺序。