iOS10 UI教程管理層次結構
iOS10 UI教程管理層次結構
iOS10 UI教程管理層次結構,在一個應用程式中,如果存在多個層次結構,就需要對這些層次結構進行管理。在UIView類中提供了可以用來管理層次結構的方法,讓開發者可以新增、移動、刪除來自層次結構中的元素。開發者可以在檢視的例項上直接使用這些方法。以下將講解3種管理層次結構的方法,分別為新增檢視、插入檢視以及移除檢視。
1.新增檢視
新增檢視可以使用addSubview(_:)方法,此方法可以新增一個檢視到子檢視列表的末尾。被新增的檢視被作為相同子檢視的同級。同級子檢視會被分配一個基於插入的順序的索引,如圖1.14所示。這個索引又對應於一個繪製順序,索引值高的繪製在前,而索引值低的,繪製在前面同級檢視的後面。其語法形式如下:
點選(此處)摺疊或開啟
- func addSubview(_ view: UIView)
其中,view用來指定要插入的檢視。
2.插入檢視
insertSubview(_:)方法新增的檢視中可以顯示在同級檢視的前面。如果想要在任意同級檢視的前後插入檢視可以使用3個方法,分別為insertSubview(_:at:)方法、insertSubview(_:aboveSubview:)或者是insertSubview(_:belowSubview:)方法。
(1)insertSubview(_:at:)方法可以在指定的索引處插入檢視,其語法形式如下:
- func insertSubview(_ view: UIView, at index: Int)
其中,view用來表示插入的檢視,index用來指定索引。
(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教程子檢視和父檢視
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29597077/viewspace-2129057/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- iOS10 UI教程層次結構的事件iOSUI事件
- iOS10 UI教程子檢視和父檢視UI層次結構和Views繼承iOSUIView繼承
- WordPress模板層次02:模板層次結構和原理
- dump index 的層次結構Index
- 繪製層次結構圖
- iOS10 UI設計基礎教程iOSUI
- iOS10 UI教程檢視除錯iOSUI除錯
- MFC9.0層次結構圖
- 儲存器的層次結構
- iOS10 UI教程檢視的中心位置iOSUI
- 深入理解 Flutter 框架層次結構Flutter框架
- 六、層次結構儲存系統
- LB 負載均衡的層次結構負載
- iOS10 UI教程檢視的生命週期iOSUI
- cad.net開發小結——層次結構
- 談一談資料域層次結構
- Tomcat伺服器層次結構研究Tomcat伺服器
- iOS10 UI教程檢視的幾何形狀iOSUI
- JDK安裝方法、使用方法和層次結構JDK
- 關於Spring Cloud的特性與層次結構SpringCloud
- SQL Server 2008的加密層次結構SQLServer加密
- 計算機網路的七層結構、五層結構和四層結構計算機網路
- 層次式架構案例架構
- IPv6優點之層次化的地址結構
- 在JavaScript裡寫類層次結構?別那麼做!JavaScript
- 改變eclipse工程中程式碼的層次結構Eclipse
- 檔案的層次性管理
- iOS10 UI教程禁用檢視與使用者的互動iOSUI
- iOS10 UI教程檢視的邊界與檢視的框架iOSUI框架
- iOS10 UI教程檢視和子檢視的可見性iOSUI
- mongodb c driver bson的巢狀訪問與層次結構MongoDB巢狀
- 層次結構資料的資料庫儲存和使用資料庫
- 如何在構圖中建立層次結構流程才有節奏和平衡感
- 三層網路結構(核心層、匯聚層 、接入層)
- 時間管理的意識和層次
- 3系統結構層
- 計算機的層次化架構計算機架構
- 探索 Python(4): 探索 Python 型別的層次結構 —— 使用列表Python型別