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

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

iOS10 UI教程子視圖和父視圖UI層次結構和Views繼承,本節將講解與UI層次結構和Views繼承相關的內容,其中包括子視圖和父視圖、管理層次結構、視圖和子視圖的可見性、層次結構的事件等內容。swift

子視圖和父視圖

每個UIView(或者是子類)的實例均可以與其它的視圖使用父-子關係的方式進行鏈接。其中父視圖被稱爲superview(超視圖),孩子視圖被稱爲subviews(子視圖)。一個視圖能夠有且僅有一個父視圖,可是能夠有多個子視圖,如圖所1.12示。ide

圖1.12  父視圖和子視圖spa

對於父視圖的訪問開發者能夠使用superview屬性,其語法形式以下:.net

var superview: UIView? { get }

對應子子視圖的訪問能夠使用subviews屬性,其語法形式以下:code

var subviews: [UIView] { get }

【示例1-6:SuperViewAndSubView】如下將經過superview屬性和subviews屬性對空白視圖的背景顏色進行設置。具體的操做步驟以下:blog

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

相關文章
相關標籤/搜索