• UI视图控件、视图嵌套、SubView、Tag 的使用


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

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

        

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

        self.window.rootViewController = vc;

        self.window.backgroundColor = [UIColor grayColor];

        //     makeKeyAndVisible:让窗口是主窗口,并且显示在屏幕上

        [self.window makeKeyAndVisible];

    //创建view1 绿色

        UIView *view1 = [[UIViewalloc]initWithFrame:CGRectMake(100,200, 200,200)];

        view1.backgroundColor = [UIColor greenColor];

        [self.window addSubview:view1];

    //创建view2 橙色

        UIView *view2 = [[UIViewalloc]initWithFrame:CGRectMake(50,300, 300, 200)];

        view2.backgroundColor = [UIColor orangeColor];

        [self.window addSubview:view2];

    //由于view2是后创建,所以系统默认为view2覆盖在view1上面

    计算机生成了可选文字:

    计算机生成了可选文字:

      

    //   在同一个父视图中

    //   1、view1 移动到最上面(即移动到view2上面)

    //    [self.window bringSubviewToFront:view1];

    //   2、把一个视图移动到底下

    //     把view2移动到下一层

    //    [self.window sendSubviewToBack:view2];

        

    //   3、交换两个视图的位置

    // -(void)exchangeSubviewAtIndex:(NSInteger)index1withSubviewAtIndex:(NSInteger)index2;

        

    //    subviews(所有子视图组成的数组)->

    //   self.window subviews

    //   NSLog(@"%@",self.window.subviews);

        

        

    //   初始化视图的顺序就是把视图存放到subviews这个数组里面的顺序

    //   改变视图的位置 就是改变subviews 数组里面元素的位置(这里是指 交换位置)

        

    //   UIView * view = self.window.subviews[2];

    //   NSLog(@"%@",view);

    //   

    //    [self.window exchangeSubviewAtIndex:2withSubviewAtIndex:1];

    //--------------插入一个新视图,并调整他的位置----  

    //   UIView * insertView = [[UIViewalloc]initWithFrame:CGRectMake(80,250,80,80)];

    //   insertView.backgroundColor = [UIColor grayColor];

    //   [self.window addSubview:insertView];

        

    // 1 插入一个视图insertView到另一个视图view1上面

    //    [self.window insertSubview:insertView aboveSubview:view1];

    计算机生成了可选文字:

    // 2 插入一个视图insertView到另一个视图view2上面

       [self.window insertSubview:insertView aboveSubview:view2];

    计算机生成了可选文字:

        

    // 3 插入到哪一个视图的底下

    //    [self.window insertSubview:insertView belowSubview:view1];

    计算机生成了可选文字:

    -------------------Tag---------------------    

    //  bag:标记 标签 标号 ->又相当于同一个父视图里面的身份证号

        insertView.tag = 100;//给上文中已出现的视图insertView赋tag值为100

    //  可以通过tag值 在他的父视图上找到这个视图

        

    //  viewWithTag:在一个父视图上面查找有木有tag值是多少的视图

        UIView *v= [self.window viewWithTag:100];

        

    //  v 就是insertView

        v.backgroundColor = [UIColor redColor];

        

    //  显示tag值为100的视图的透明度

        NSLog(@"%f",v.alpha);

        

    //   移除视图

    //   [v removeFromSuperview];

  • 相关阅读:
    生成器
    字典生成式
    列表推导式
    函数基础实战之ATM和购物车系统
    函数基础小结
    函数嵌套
    可变长参数
    函数参数
    java NIO(三)----通道(Channel)
    java NIO(二)----直接缓冲区和非直接缓冲区
  • 原文地址:https://www.cnblogs.com/liuzhi20101016/p/5035867.html
Copyright © 2020-2023  润新知