UIView属性


- (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];
    */
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值