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, y: 0, width: 200, 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的索引跟它在这个数组的索引对应.