其它

2016-09-13  本文已影响7人  saman0

1.改变bounds的大小,fram的大小和坐标都改变 center不变
2.transform有make事直接方法调用 没有就是嵌套了其他的形变的方法在里面
3.获取一个子视图的父视图

        let superView = redView.superview
        superView?.backgroundColor = UIColor.greenColor()

4.使用tag值
通过tag值拿到指定的子视图
然后在做一些具体的事情

        let subView2 = self.view.viewWithTag(101)
        subView2?.frame.origin.y = 100

5.这个厉害 获取一个视图的所有子视图
然后在for循环if 爽的一比

  //3.获取一个视图的所有的子视图
        let subViews = self.view.subviews
        //拿到所有的子视图中的红色视图和黄色视图
        //a.
        for item in subViews {
            
            //判断item是否是UILabel类型的。如果是就返回true,如果不是就返回false
            if item.isKindOfClass(UILabel.self) {
                print(item)
            }
        }
        //b.
        for item in subViews {
            
            if item.tag == 100 {
                print("红色视图")
                //将红色视图的背景颜色变成橙色
                item.backgroundColor = UIColor.orangeColor()
            }
            
            if item.tag == 101 {
                
                print("黄色视图\(item)")
            }
        }

之前没重视这个知识点 后来发现发现非常重要 在重置某些系统的东西的时候很有帮助 比如tabBar 不用系统自动提供的 自己制作时就需要这个方法 及拿到所有的子视图 然后可以对其进行遍历 删选出其中满足我需要的子控件视图

     //3.!!!获取一个视图的所有的子视图
        let subViews = self.view.subviews
        //拿到所有的子视图中的红色视图和黄色视图
        //a.
        for item in subViews {
            
            //判断item是否是UILabel类型的。如果是就返回true,如果不是就返回false
            if item.isKindOfClass(UILabel.self) {
                print(item)
            }
        }

当然还可以用tag值定点拿到一些子视图对象 然后对子视图对象给予一些值或者方法什么的

        for item in subViews {
            
            if item.tag == 100 {
                print("红色视图")
                //将红色视图的背景颜色变成橙色
                item.backgroundColor = UIColor.orangeColor()
            }
            
            if item.tag == 101 {
                
                print("黄色视图\(item)")
            }
        }
        
        //4.通过tag值拿到指定的子视图
        let subView2 = self.view.viewWithTag(101)
        subView2?.frame.origin.y = 100
    }

到后期忘记了这个方法 可以在视图与视图之间的互相隐藏于遮盖 为后面的UI界面框架增加一些小的功能

        //2.将指定的视图放到最上层
        self.view.bringSubviewToFront(view2)
        
        //3.将指定的视图放到最下层
        self.view.sendSubviewToBack(view2)
        
        //4.将指定的视图插入到另一个视图的上面
        self.view.insertSubview(view2, aboveSubview: view3)
        
        //5.将指定的视图插入到另外一个视图的下面
        self.view.insertSubview(view2, belowSubview: view1)

这个换行的方法搞忘了 在考试的时候吃亏了 想半天

        //自动换行
        label.numberOfLines = 0


                //8.设置换行模式
        //ByWordWrapping -> 以单词为单位换行
        //ByCharWrapping -> 以字符为单位换行
        //...
        label.lineBreakMode = .ByCharWrapping
上一篇 下一篇

猜你喜欢

热点阅读