我使用xib创建了一个自定义uiview类,我希望能够使用textFieldDidBeginEditing在屏幕上显示它,但我似乎无法弄明白。
在myCustomView中:
required init(coder aDecoder: NSCoder) {
super.init(coder: aDecoder)
//Load the interface
NSBundle.mainBundle().loadNibNamed("customNib", owner: self, options: nil)
self.addSubview(self.view)
}
override init(frame: CGRect) {
super.init(frame: frame)
}
我所做的和工作是在IB中我在我的界面中放置了一个视图并将其链接到我的customView类。
现在,我想以编程方式使用自定义类显示此视图。
如果我在textFieldDidBeginEditing中执行此操作(我在主视图中有一个文本字段):
var myView: myCustomView = myCustomView(frame:CGRectMake(100, 100, 100, 100))
myView.backgroundColor = UIColor.redColor()
self.view.addSubview(myView)
我在屏幕上看到一个红色正方形,但它没有"加载" xib。
我不是问这个好问题,还是我做错了什么?你们能帮助我朝正确的方向发展吗?
我在这里完成了所有类似的问题,无法找到解决方案。
答案 0 :(得分:-1)
只是最愚蠢的事情,我用init(框架)初始化myView并且没有将我的xib放在屏幕上。这有效:
override init(frame: CGRect) {
super.init(frame: frame)
NSBundle.mainBundle().loadNibNamed("customNib", owner: self, options: nil)
self.addSubview(self.view)
}