- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
NSLog(@"程序已经完成加载");
//iOS坐标系: x轴, 越往右, 越大; y轴, 越往下, 越大
//iOS应用的能到看到的视图, 都是矩形
//决定一个矩形视图在坐标系的位置, 有四个值(x, y , width, height)
//和数据相关的
//1.CGPoint, 存一个点的位置
CGPoint point = {50, 100};
NSLog(@"%.2lf, %.2lf",point.x, point.y);
CGPoint point1 = CGPointMake(50, 100);
NSLog(@"%@", NSStringFromCGPoint(point1));
//2.CGSize, 结构体, 存大小
CGSize size = CGSizeMake(150, 200);
NSLog(@"%@", NSStringFromCGSize(size));
//3.CGRect, 结构体, 存矩形的位置和大小
CGRect rect = CGRectMake(50, 100, 150, 200);
NSLog(@"%@",NSStringFromCGRect(rect));
//打印x
NSLog(@"%.2lf", rect.origin.x);
//[[UIScreen mainScreen]: 获取手机的主屏幕
//[[UIScreen mainScreen] bounds]: 获取主屏幕的大小
NSLog(@"%@", NSStringFromCGRect([[UIScreen mainScreen] bounds]));
//手机屏幕(pt: point, 点)
//iPhone 1/3G/3Gs/4/4s: 320 * 480
//iPhone 5/5s/5c : 320 * 568
//iPhone 6/6s : 375 * 667
//iPhone 6 Plus/6s Plus : 414 * 736
//普通屛幕(1, 3G, 3Gs): 1pt = 1px
//retina(视网膜)屏幕(4, 4s, 5, 5s, 5c, 6, 6s): 1pt = 2px
//高清屏(6 Plus, 6s Plus): 1pt = 3px
//UIWindow窗口类, 可以看到的都是试图, iOS应用, 至少有一个窗口, 所有的控件必须放到窗口上, 才能显示出来
self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];//self.window表示属性
// Override point for customization after application launch.
//UIColor , 颜色类,
UIColor *color1 = [UIColor redColor];
UIColor *color2 = [UIColor colorWithRed:255 / 255 green:120 / 255. blue:3 / 255. alpha:1];//alpha阿尔法值, 0为完全透明, 1为完全
// [UIColor brownColor]
//随机颜色
UIColor *randomColor = [UIColor colorWithRed:(arc4random() % 256) / 255. green:(arc4random() % 256) / 255. blue:(arc4random() % 256) / 255. alpha:1];
self.window.backgroundColor = randomColor;
//成为主窗口并显示
[self.window makeKeyAndVisible];
//UIView, 视图类, 继承于UIResponser
/*
UIView *aView = [[UIView alloc] initWithFrame:CGRectMake(100, 100, 100, 100)];
//默认颜色是clear,透明的
aView.backgroundColor = [UIColor yellowColor];
[self.window addSubview:aView];
UIView *aView = [[UIView alloc] initWithFrame:CGRectMake(20, 20, 100, 100)];
UIView *bView = [[UIView alloc] initWithFrame:CGRectMake(375 - 120, 20, 100, 100)];
UIView *cView = [[UIView alloc] initWithFrame:CGRectMake(20, 667 - 120, 100, 100)];
UIView *dView = [[UIView alloc] initWithFrame:CGRectMake(375 - 120, 667 - 120, 100, 100)];
UIView *eView = [[UIView alloc] initWithFrame:CGRectMake(375 / 2 - 50, 667 / 2 - 50, 100, 100)];
aView.backgroundColor = [UIColor yellowColor];
[self.window addSubview:aView];
bView.backgroundColor = [UIColor yellowColor];
[self.window addSubview:bView];
cView.backgroundColor = [UIColor yellowColor];
[self.window addSubview:cView];
dView.backgroundColor = [UIColor yellowColor];
[self.window addSubview:dView];
eView.backgroundColor = [UIColor yellowColor];
eView.layer.cornerRadius = 30;
[self.window addSubview:eView];
//视图创建的过程
//1.开辟内存空间
//2.设置视图的属性(比如背景颜色)
//3.添加到父视图
UIView *view = [[UIView alloc] initWithFrame:CGRectMake(100, 120, 100, 100)];
//背景色, 默认为clearColor
view.backgroundColor = [UIColor yellowColor];
//是否隐藏, 默认为NO
view.hidden = NO;
//不透明度, 默认为1
view.alpha = 0.5;
[self.window addSubview:view];
//视图的层级关系(和继承差不多)
//1.一个视图, 只能有一个父视图, 可以有多个子视图
//2.先添加, 显示在下面; 后添加, 显示在上面
//3.一个视图的frame, 都是基于父视图的坐标系
//4.子视图超出父视图的部分, 是可以显示的, 不能触摸(如果, 不想显示, 可以切掉 clipsToBounds)
UIView *aView = [[UIView alloc] initWithFrame:CGRectMake(100, 100, 100, 100)];
aView.backgroundColor = [UIColor redColor];
[self.window addSubview:aView];
UIView *bView = [[UIView alloc] initWithFrame:CGRectMake(20, 20, 1000, 40)];
//超出父视图的部分, 是否切掉
aView.clipsToBounds = YES;
bView.backgroundColor = [UIColor greenColor]; //视图越界, 能看到. 但是不能触摸
[self.window addSubview:bView];
[aView addSubview:bView];//基于父视图的坐标系
//子视图数组
NSLog(@"%@", self.window.subviews);
NSLog(@"%@", aView.subviews);
//父视图
NSLog(@"%@", bView.superview);
NSLog(@"%@", aView.superview);
UIView *aView = [[UIView alloc] initWithFrame:CGRectMake(100, 100, 100, 100)];
aView.backgroundColor = [UIColor redColor];
[self.window addSubview:aView];
UIView *bView = [[UIView alloc] initWithFrame:CGRectMake(120, 120, 100, 100)];
bView.backgroundColor = [UIColor greenColor];
[self.window addSubview:bView];
UIView *cView = [[UIView alloc] initWithFrame:CGRectMake(140, 140, 100, 100)];
cView.backgroundColor = [UIColor blueColor];
[self.window addSubview:cView];
UIView *dView = [[UIView alloc] initWithFrame:CGRectMake(130, 130, 100, 100)];
dView.backgroundColor = [UIColor yellowColor];
//在指定位置插入视图, 位置只算子视图, 从0开始
// [self.window insertSubview:0 atIndex:2];
//在某个视图的上面插入一个视图
// [self.window insertSubview:dView aboveSubview:bView];
//在某个视图下面插入一个视图
// [self.window insertSubview:dView belowSubview:cView];
//调整子视图的层次
//最前面
// [self.window bringSubviewToFront:cView];
//最后面
// [self.window sendSubviewToBack:cView];
//交换
[self.window exchangeSubviewAtIndex:2 withSubviewAtIndex:3];
//UIView的属性
UIView *view = [[UIView alloc] initWithFrame:CGRectMake(100, 100, 100, 100)];
//背景颜色
view.backgroundColor = [UIColor yellowColor];
//是否隐藏
view.hidden = NO;
//不透明度
view.alpha = 1;
//父视图
// view. superview;
//子视图数组
// view. subviews
//超出父视图的部分是否切掉
view.clipsToBounds = YES;
[self.window addSubview:view];
//view.frame 假如想单独修改, 那么不能单独修改, 需要整体修改
//1
view.frame = CGRectMake(100, 200, 100, 100);
//2
CGRect rect1 = view.frame;
rect1.origin.y = 200;
view.frame = rect1;
NSLog(@"%@", NSStringFromCGRect(view.frame));
//修改view.center, 他也是一个整体
//1
// view.center = CGPointMake(375 / 2, 667 / 2);
//2, 中心点, 基于父视图坐标系(相对于父类)
view.center = self.window.center;
NSLog(@"%@", NSStringFromCGPoint(view.center));
//view.bounds 边界, 基于自身坐标系, 视图在自身的坐标系中的位置和大小
NSLog(@"%@", NSStringFromCGRect(view.bounds));
view.bounds = CGRectMake(0, 0, 160, 100);//bound只会影响子视图的位置
NSLog(@"%@", NSStringFromCGRect(view.bounds));
//注意: bounds(0, 0, 宽, 高) 和 center(只有x, y 值)是相互不影响的
UIView *view = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 200, 200)];
view.backgroundColor = [UIColor yellowColor];
[self.window addSubview:view];
view.bounds = CGRectMake(100, 100, 200, 200);
UIView *aView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 100, 100)];
aView.backgroundColor = [UIColor blueColor];
[view addSubview:aView];
*/
UIView属性
最新推荐文章于 2023-05-28 14:45:43 发布