我用xib做了一个自定义的uiview类,我希望能够用textFieldDidBeginEdit在屏幕上显示它,但我似乎无法弄清楚。
在 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。
我问的不是好问题还是我做错了什么?你们能把我引向正确的方向吗?
我在这里经历了所有类似的问题,但找不到解决方案。
只是最愚蠢的事情,我用init(frame(初始化了myView,并没有把我的xib放在屏幕上。这有效:
override init(frame: CGRect) {
super.init(frame: frame)
NSBundle.mainBundle().loadNibNamed("customNib", owner: self, options: nil)
self.addSubview(self.view)
}