1:簡介
1:同一父視圖情況下,后被加入的子視圖,在更上一層
2:子視圖在數(shù)組中排列的順序,就是被添加進(jìn)去的順序
2: 方法
(1):找到任意層的btn,將其放到最外層
bringSubviewToFront
(2): 獲取任意層的btn,將其放到最底層
sendSubviewToBack
(3):insertSubview方法有兩個(gè)作用,1.如果被插入的視圖,還未與父視圖建立父子視圖關(guān)系,那么插入方法,會(huì)把該視圖與父視圖建立起父子視圖關(guān)系。 2.調(diào)整視圖的層次關(guān)系
(4)表示層數(shù)之間進(jìn)行交換 比如:exchangeSubviewAtIndex:3 withSubviewAtIndex:1 表示第4層和第2層進(jìn)行交換,當(dāng)找不到層數(shù)時(shí),不會(huì)進(jìn)行交換 (不是指frame.而是指層數(shù)) (層數(shù)的計(jì)算從0開始)
具體代碼如下:
func createSuperView(){
let superView = UIView.init(frame: UIScreen.mainScreen().bounds)
superView.backgroundColor = UIColor.redColor()
self.view.addSubview(superView)
for i in 0...2 {
let button = UIButton.init(type: .System)
button.frame = CGRect(x: 50 + 50 * i, y: 200 + 50 * i, width: 100, height: 100)
button.backgroundColor = UIColor.init(red: CGFloat(arc4random_uniform(256)) / 255, green: CGFloat(arc4random_uniform(256)) / 255, blue: CGFloat(arc4random_uniform(256)) / 255, alpha: 1)
button.setTitle("我是\(i + 1)號btn", forState: .Normal)
button.tag = i + 11
button.titleLabel?.adjustsFontSizeToFitWidth = true
superView.addSubview(button)
}
//同一父視圖情況下,后被加入的子視圖,在更上一層
//子視圖在數(shù)組中排列的順序,就是被添加進(jìn)去的順序
//1:找到任意層的btn,將其放到最外層
let btn = superView.viewWithTag(12)
superView.bringSubviewToFront(btn!)
//獲取任意層的btn,將其放到最底層
let btn_btn = superView.viewWithTag(13)
superView.sendSubviewToBack(btn_btn!)
//插入一個(gè)視圖
let label = UILabel.init(frame: CGRectMake(75, 225, 150, 150))
label.backgroundColor = UIColor.purpleColor()
//2:insertSubview方法有兩個(gè)作用,1.如果被插入的視圖,還未與父視圖建立父子視圖關(guān)系,
//那么插入方法,會(huì)把該視圖與父視圖建立起父子視圖關(guān)系。
//2.調(diào)整視圖的層次關(guān)系
//把某個(gè)視圖,插入到下標(biāo)為4的層級上
// superView.insertSubview(label, atIndex: 1)
//把某個(gè)視圖,插入到tag=11的視圖的上層
// superView.insertSubview(label, aboveSubview: superView.viewWithTag(11)!)
//把某個(gè)視圖,插入到tag=11的視圖的下層
superView.insertSubview(label, belowSubview: superView.viewWithTag(11)!)
//3:表示層數(shù)之間進(jìn)行交換 比如:exchangeSubviewAtIndex:3 withSubviewAtIndex:1 表示第4層和第2層進(jìn)行交換,當(dāng)找不到層數(shù)時(shí),不會(huì)進(jìn)行交換 (不是指frame.而是指層數(shù)) (層數(shù)的計(jì)算從0開始)
superView.exchangeSubviewAtIndex(0, withSubviewAtIndex: 1)
print(superView.subviews)
}