[英]programmatically customize UIView in xib
我已經使用UIView創建了Xib文件,然后創建了一個連接到xibs文件所有者的自定義UIView類。 但是我不確定如何以編程方式創建一些東西。 我試圖添加awakeFromNib函數,但是似乎無法正常運行,為了以編程方式更改backgroundColor應該采用哪種方法?
func loadViewFromNib() -> UIView {
let bundle = NSBundle(forClass: self.dynamicType)
let nib = UINib(nibName: "MediaPlayer", bundle: bundle)
let view = nib.instantiateWithOwner(self, options: nil)[0] as! UIView
return view
}
您可以更改任何此類的backgroundColor。
self.view.backgroundColor = [UIColor redColor];
希望這可以幫助。
僅當這樣調用UINib
才會調用awakeFromNib
: https : UINib
您的UIView子類應如下所示:
class CustomView : UIView {
@IBOutlet weak var contentView: UIView!
override init(frame: CGRect) {
super.init(frame: frame)
setup()
}
override func awakeFromNib() {
super.awakeFromNib()
setup()
}
required init?(coder aDecoder: NSCoder) {
super.init(coder: aDecoder)
}
func setup() {
Bundle(for: CustomView.self).loadNibNamed(String(describing: CustomView.self), owner: self, options: nil)
}
}
let view = CustomView()
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.