UIView的层级关系和控制(swift)


 override func viewDidLoad() {
        super.viewDidLoad()

        let v1 = UIView(frame: CGRect(x: 0,y: 0,width: 200,height: 300))
        v1.backgroundColor = UIColor.redColor()
        
        let v2 = UIView(frame: CGRect(x: 10,height: 300))
        v2.backgroundColor = UIColor.purpleColor()
        
        self.view.insertSubview(v1,atIndex: 1)
        self.view.insertSubview(v2,atIndex: 2)
        //self.view.exchangeSubviewAtIndex(1,withSubviewAtIndex: 2)
        
       // self.view.bringSubviewToFront(v2)
       // self.view.sendSubviewToBack(v2)
        
        //v1.layer.zPosition = 3.0
        
        print(self.view.subviews.indexOf(v1))
        print(self.view.subviews.indexOf(v2))
       
    }

在主view下面添加两个颜色的子view,一个是红色,一个是紫色.

1.索引大的会显示再前面,且索引可以任意给定

2.假如给的索引一样,最先插入的view的索引会自动加一,显示在最前面

3.bringSubviewToFront,将某个子view显示再所有子view的最前面.这时它的索引一定是最大

4.sendSubViewToBack,将某个子view显示到子view的最下面,这时它的索引是最小的

5.exchangeSubviewAtIndex,交换指定的两个索引所在的子view层级.

6.如果直接要修改某个子view的索引值,可以用layer.zPosition,也是值越大越靠前,越小越靠屏幕里面

7.所有的子view都在subviews数组里面,子view的索引跟它在这个数组的索引对应.

相关文章

软件简介:蓝湖辅助工具,减少移动端开发中控件属性的复制和粘...
现实生活中,我们听到的声音都是时间连续的,我们称为这种信...
前言最近在B站上看到一个漂亮的仙女姐姐跳舞视频,循环看了亿...
【Android App】实战项目之仿抖音的短视频分享App(附源码和...
前言这一篇博客应该是我花时间最多的一次了,从2022年1月底至...
因为我既对接过session、cookie,也对接过JWT,今年因为工作...