[英]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.