我已经使用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
}
答案 0 :(得分:0)
您可以更改任何类似的backgroundColor。
self.view.backgroundColor = [UIColor redColor];
希望这有帮助。
答案 1 :(得分:0)
awakeFromNib
时才会调用
答案 2 :(得分:0)
您的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)
}
}
Custom view in Interface Builder
let view = CustomView()