標籤:imp 操作 技術 image src uiview ack 索引 事件
iOS10 UI教程子視圖和父視圖UI階層和Views繼承
iOS10 UI教程子視圖和父視圖UI階層和Views繼承,本節將講解與UI階層和Views繼承相關的內容,其中包括子視圖和父視圖、管理階層、視圖和子視圖的可見度、階層的事件等內容。
子視圖和父視圖
每一個UIView(或者是子類)的執行個體都可以與其它的視圖使用父-子關係的方式進行串連。其中父視圖被稱為superview(超視圖),孩子視圖被稱為subviews(子視圖)。一個視圖可以有且僅有一個父視圖,但是可以有多個子視圖,所1.12示。
圖1.12 父視圖和子視圖
對於父視圖的訪問開發人員可以使用superview屬性,其文法形式如下:
var superview: UIView? { get }
對應子子視圖的訪問可以使用subviews屬性,其文法形式如下:
var subviews: [UIView] { get }
【樣本1-6:SuperViewAndSubView】以下將通過superview屬性和subviews屬性對空白視圖的背景顏色進行設定。具體的操作步驟如下:
(1)開啟Main.storyboard檔案,從視圖庫中拖動View空白視圖到View Controller的主視圖中,將此空白視圖的位置和大小調整為(16, 107, 343, 423)。為此視圖聲明和關聯插座變數view1。
(2)從視圖庫中拖到第二個View空白視圖到View Controller的主視圖中,並將此視圖放置在view1視圖中,將此視圖的位置和大小調整為(51, 147, 240, 128)。為此視圖聲明和關聯插座變數view2。
(3)開啟ViewController.swift檔案,編寫代碼,為視圖改變背景顏色。代碼如下:
import UIKitclass ViewController: UIViewController { @IBOutlet weak var view1: UIView! @IBOutlet weak var view2: UIView! override func viewDidLoad() { super.viewDidLoad() // Do any additional setup after loading the view, typically from a nib. let parentView=view2.superview //擷取view2的父視圖 let children=view1.subviews //擷取view1的子視圖 parentView?.backgroundColor=UIColor.red children[0].backgroundColor=UIColor.yellow }……}
此時運行程式,會看到1.13所示的效果。
圖1.13 運行效果 圖1.14 索引
相關閱讀:iOS10 UI教程視圖的中心位置
iOS10 UI教程子視圖和父視圖UI階層和Views繼承