iOS10 UI教程子檢視和父檢視UI層次結構和Views繼承

大學霸發表於2016-11-25

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-6SuperViewAndSubView】以下將透過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 UIKit

class 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教程檢視的中心位置

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

相關文章