iOS10 UI教程管理層次結構,在一個應用程序中,若是存在多個層次結構,就須要對這些層次結構進行管理。在UIView類中提供了能夠用來管理層次結構的方法,讓開發者能夠添加、移動、刪除來自層次結構中的元素。開發者能夠在視圖的實例上直接使用這些方法。如下將講解3種管理層次結構的方法,分別爲添加視圖、插入視圖以及移除視圖。swift
1.添加視圖ide
添加視圖能夠使用addSubview(_:)方法,此方法能夠添加一個視圖到子視圖列表的末尾。被添加的視圖被做爲相同子視圖的同級。同級子視圖會被分配一個基於插入的順序的索引,如圖1.14所示。這個索引又對應於一個繪製順序,索引值高的繪製在前,而索引值低的,繪製在前面同級視圖的後面。其語法形式以下:spa
func addSubview(_ view: UIView)
其中,view用來指定要插入的視圖。.net
2.插入視圖設計
insertSubview(_:)方法添加的視圖中能夠顯示在同級視圖的前面。若是想要在任意同級視圖的先後插入視圖能夠使用3個方法,分別爲insertSubview(_:at:)方法、insertSubview(_:aboveSubview:)或者是insertSubview(_:belowSubview:)方法。code
(1)insertSubview(_:at:)方法能夠在指定的索引處插入視圖,其語法形式以下:對象
func insertSubview(_ view: UIView, at index: Int)
其中,view用來表示插入的視圖,index用來指定索引。blog
(2)insertSubview(_:aboveSubview:)方法能夠在層次結構中插入一個視圖,而且這個視圖插入到指定視圖的上面。其語法形式以下:教程
func insertSubview(_ view: UIView, aboveSubview siblingSubview: UIView)
其中,view用來表示插入的視圖,siblingSubview用來指定視圖。索引
(3)insertSubview(_:belowSubview:)方法也能夠在層次結構中插入一個視圖,而且這個視圖插入到指定視圖的下面。其語法形式以下:
func insertSubview(_ view: UIView, belowSubview siblingSubview: UIView)
其中,view用來表示插入的視圖,siblingSubview用來指定視圖。
【示例1-7:insertSubView】如下將使用insertSubview(_:at:)方法在界面中插入2個視圖。具體的操做步驟以下:
(1)打開Main.storyboard文件,對主視圖進行設計,效果如圖1.15所示。
圖1.15 主視圖的效果
須要添加的視圖以及對它們的設置如表1-1所示。
表1-1 對視圖對象的設置
(2)打開ViewController.swift文件,編寫代碼,在指定索引處插入視圖。
import UIKit class ViewController: UIViewController { override func viewDidLoad() { super.viewDidLoad() // Do any additional setup after loading the view, typically from a nib. //插入藍色的空白視圖 let view1=UIView(frame:CGRect(x: 16, y: 76, width: 343, height: 272)) view1.backgroundColor=UIColor.blue view.insertSubview(view1, at: 1) //插入紅色的空白視圖 let view2=UIView(frame:CGRect(x: 16, y: 220, width: 343, height: 272)) view2.backgroundColor=UIColor.red view.insertSubview(view2, at: 3) } …… }
此時運行程序,會看到如圖1.16所示的效果。
圖1.16 運行效果
3.移除視圖
當在應用程序中有再也不使用的視圖,就應當及時的從層次結構中移除,這樣便於對層次結構的管理,此時使用到removeFromSuperview()方法。其語法形式以下:
func removeFromSuperview()
iOS10 UI教程管理層次結構
相關閱讀:iOS10 UI教程子視圖和父視圖