iOS10 UI教程管理層次結構

大學霸發表於2016-11-25

iOS10 UI教程管理層次結構

iOS10 UI教程管理層次結構,在一個應用程式中,如果存在多個層次結構,就需要對這些層次結構進行管理。在UIView類中提供了可以用來管理層次結構的方法,讓開發者可以新增、移動、刪除來自層次結構中的元素。開發者可以在檢視的例項上直接使用這些方法。以下將講解3種管理層次結構的方法,分別為新增檢視、插入檢視以及移除檢視。

1.新增檢視

新增檢視可以使用addSubview(_:)方法,此方法可以新增一個檢視到子檢視列表的末尾。被新增的檢視被作為相同子檢視的同級。同級子檢視會被分配一個基於插入的順序的索引,如圖1.14所示。這個索引又對應於一個繪製順序,索引值高的繪製在前,而索引值低的,繪製在前面同級檢視的後面。其語法形式如下:


點選(此處)摺疊或開啟

  1. func addSubview(_ view: UIView)

其中,view用來指定要插入的檢視。

2.插入檢視

insertSubview(_:)方法新增的檢視中可以顯示在同級檢視的前面。如果想要在任意同級檢視的前後插入檢視可以使用3個方法,分別為insertSubview(_:at:)方法、insertSubview(_:aboveSubview:)或者是insertSubview(_:belowSubview:)方法。

(1)insertSubview(_:at:)方法可以在指定的索引處插入檢視,其語法形式如下:


  1. func insertSubview(_ view: UIView, at index: Int)

其中,view用來表示插入的檢視,index用來指定索引。

(2)insertSubview(_:aboveSubview:)方法可以在層次結構中插入一個檢視,並且這個檢視插入到指定檢視的上面。其語法形式如下:

點選(此處)摺疊或開啟

  1. func insertSubview(_ view: UIView, aboveSubview siblingSubview: UIView)

其中,view用來表示插入的檢視,siblingSubview用來指定檢視。

(3)insertSubview(_:belowSubview:)方法也可以在層次結構中插入一個檢視,並且這個檢視插入到指定檢視的下面。其語法形式如下:


  1. 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檔案,編寫程式碼,在指定索引處插入檢視。


  1. import UIKit
  2. class ViewController: UIViewController {
  3.     override func viewDidLoad() {
  4.         super.viewDidLoad()
  5.         // Do any additional setup after loading the view, typically from a nib.
  6.         //插入藍色的空白檢視
  7.         let view1=UIView(frame:CGRect(x: 16, y: 76, width: 343, height: 272))
  8.         view1.backgroundColor=UIColor.blue
  9.         view.insertSubview(view1, at: 1)
  10.         //插入紅色的空白檢視
  11.         let view2=UIView(frame:CGRect(x: 16, y: 220, width: 343, height: 272))
  12.         view2.backgroundColor=UIColor.red
  13.         view.insertSubview(view2, at: 3)
  14.     }
  15. ……
  16. }

此時執行程式,會看到如圖1.16所示的效果。

圖1.16  執行效果

3.移除檢視

當在應用程式中有不再使用的檢視,就應當及時的從層次結構中移除,這樣便於對層次結構的管理,此時使用到removeFromSuperview()方法。其語法形式如下:


  1. func removeFromSuperview()

iOS10 UI教程管理層次結構

相關閱讀:iOS10 UI教程子檢視和父檢視

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29597077/viewspace-2129057/,如需轉載,請註明出處,否則將追究法律責任。

相關文章