iOS10 UI教程視圖的繪製與視圖控制器和視圖,在iOS中,有不少的繪圖應用。這些應用大可能是在UIView上進行繪製的。若是想在一個UIView中繪製一個圖形,須要寫一個擴展UIView的子類,並重寫draw(_:)方法。在該方法中實現繪圖操做,程序會自動調用此方法進行繪圖。swift
【示例1-11:ViewDrawing】如下將在視圖上繪製一個橢圓。具體的操做步驟以下:ide
(1)建立一個基於UIView的類文件,命名爲ellipseView。spa
(2)打開ellipseView.swift文件,編寫代碼,實現橢圓的繪製。.net
import UIKit class ellipseView: UIView { override func draw(_ rect: CGRect) { let path = UIBezierPath(ovalIn: self.bounds) UIColor.red.setStroke() UIColor.orange.setFill() path.fill() path.stroke() } }
(3)打開Main.storyboard文件,選擇主視圖,在Show the Identity inspector面板中找到Class,將其設置爲剛纔建立的類即ellipseView。此時運行程序,會看到如圖1.28所示的效果。調試
圖1.28 運行效果code
注意:若是開發者想要進行重繪,重繪操做仍然在draw(_:)方法中完成,可是蘋果不建議直接調用draw(_:)方法,若是強直直接調用此方法,是沒有效果的。蘋果要求開發者調用UIView類中的setNeedsDisplay()或者是setNeedsDisplay(_:)方法,則程序會自動調用draw(_:)方法進行重繪。blog
在一個應用中,若是視圖不少時,爲了方便關聯,能夠使用視圖控制器。視圖控制器的功能就是對iOS應用程序的視圖進行管理。視圖控制器使用UIViewController實現。UIViewController的view屬性是層次結構的根視圖,它定義了視圖控制器的內容。教程
iOS10 UI教程視圖的繪製與視圖控制器和視圖ip
相關閱讀:iOS10 UI教程視圖調試開發