swift 自定義控制元件在StoryBoard(xib)裡使用的屬性
阿新 • • 發佈:2019-01-25
有時候我們在StoryBoard裡用拖拽方法建立屬性的時候,總會有一些常用的屬性沒有提供視覺化操作,所以我們必須在連線類中用程式碼去實現,雖然也比較簡單,但是這樣重複的操作大大的增加了開發時間,如果能在拖拽的介面就能直接除錯相關屬性,就像一個UIView直接視覺化設定背景顏色一樣,豈不樂哉,以下是在Swift工程中實現的一些方法:
第一步建立Target
建立好以後目錄裡面就會多出一個分組
其中MyView類是另外建立的,繼承與UIView,下面是類中實現的主要程式碼
import UIKit //@IBDesignable告訴編譯器,此類可以被nib識別使用 @IBDesignable class MyView: UIView { //@IBInspectable告訴編譯器,此屬性可以被nib使用 @IBInspectable var describle : String = ""{ didSet{ // 已經被賦值 } } @IBInspectable var borderWidth : CGFloat = 0{ didSet{ layer.borderWidth = borderWidth } } @IBInspectable var borderColor : UIColor = UIColor.clearColor(){ didSet{ layer.borderColor = borderColor.CGColor } } @IBInspectable var cornerRadius : CGFloat = 0{ didSet{ layer.cornerRadius = cornerRadius } } /* // Only override drawRect: if you perform custom drawing. // An empty implementation adversely affects performance during animation. override func drawRect(rect: CGRect) { // Drawing code } */ }
這裡只是在UIView中增加了幾個簡單視覺化操作的屬性,然後在VC中拖拽一個UIView控制元件繼承於MyView
可以看到在程式碼中定義的幾個屬性,在這裡都可以看到和設定,這樣以後在使用的時候是不是就方便多了。