iOS 11開發教程(十四)iOS11應用程式碼新增檢視

大學霸發表於2017-11-23

iOS 11開發教程(十四)iOS11應用程式碼新增檢視

如果開發者想要使用程式碼為主檢視新增檢視,該怎麼辦呢。以下將為開發者解決這一問題。要使用程式碼為主檢視新增檢視需要實現3個步驟。

1)例項化檢視物件

每一個檢視都是一個特定的類。在Swift中,經常會說,類是一個抽象的概念,而非具體的事物,所以要將類進行例項化。例項化一個檢視物件的具體語法如下:

let/var 物件名=檢視類()

以我們接觸的第一個檢視View為例,它的例項化物件如下:

let newView=UIView()

其中,UIView是空白檢視的類,newViewUIView類例項化出來的一個物件。

2)設定檢視的位置和大小

每一個檢視都是一個區域,所以需要為此區域設定位置和大小。設定位置和大小的屬性為frame,其語法形式如下:

物件名.frame=CGRect(x ,y ,width,height)

其中,xy表示檢視在主檢視中的位置,widthheight表示檢視的大小。以下為例項化的物件newView設定位置和大小:

newView.frame=CGRect(x: 67, y: 264, width: 240, height: 128)

其中,67264表示此檢視的主檢視中的位置,240128表示此檢視的大小。

注意:步驟1和步驟2也可以進行合併。例如,以下的程式碼是將UIView類的例項化物件和設定位置大小進行了合併:

let newView=UIView(frame: CGRect(x: 67, y: 264, width: 240, height: 128))

3)將檢視新增到當前的檢視中

最後,也是最為關鍵的一步,就是將例項化的物件新增到主檢視中。這樣才可以進行顯示。此時需要使用到AddSubview()方法,其語法形式如下:

this.view.addSubview (檢視物件名)

以下將例項化的物件newView新增到當前的主檢視中,程式碼如下:

self.view.addSubview(newView)

【示例1-2】以下將使用程式碼為主檢視新增一個View空白檢視。程式碼如下:

import UIKit

class ViewController: UIViewController {

    override func viewDidLoad() {

        super.viewDidLoad()

        // Do any additional setup after loading the view, typically from a nib.

        let newView=UIView(frame: CGRect(x: 67, y: 264, width: 240, height: 128))

        self.view.addSubview(newView)

    }

……

}

此時執行程式,會看到如圖1.50所示的效果。在此執行效果中也是看不到新增的檢視的。這是因為新增的檢視預設是白色的背景,如果想要看到檢視,需要設定它的背景。例如以下的程式碼,將背景顏色設定為了灰色:

newView.backgroundColor=UIColor.gray

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


1.50  執行效果                                   1.51  執行效果

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

相關文章