Ios 在textFieldDidBeginEditing上显示带有xib的UIView
我用xib创建了一个自定义uiview类,我希望能够用textFieldDidBeginEditing在屏幕上显示它,但我似乎无法理解 在myCustomView中:Ios 在textFieldDidBeginEditing上显示带有xib的UIView,ios,swift,uitextfield,addsubview,custom-view,Ios,Swift,Uitextfield,Addsubview,Custom View,我用xib创建了一个自定义uiview类,我希望能够用textFieldDidBeginEditing在屏幕上显示它,但我似乎无法理解 在myCustomView中: required init(coder aDecoder: NSCoder) { super.init(coder: aDecoder) //Load the interface NSBundle.mainBundle().loadNibNamed("customNib", owner: self, o
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中执行此操作(我在主视图中有一个textfield):
我在屏幕上看到一个红方块,但它不会“加载”xib
我问的不是好问题还是做错了什么?你们能告诉我正确的方向吗
我在这里检查了所有类似的问题,却找不到解决方案。最愚蠢的事情是,我用init(frame)初始化了我的视图,而没有将我的xib放在屏幕上。这项工作:
override init(frame: CGRect) {
super.init(frame: frame)
NSBundle.mainBundle().loadNibNamed("customNib", owner: self, options: nil)
self.addSubview(self.view)
}
如果使用xib创建自定义视图,则必须使用此
NSBundle.mainBundle().loadNibNamed(“customNib”,所有者:self,选项:nil)”加载它。
然后分配其帧,然后将其添加到子视图。你这样做会得到什么结果?你可以把这个答案作为你问题的答案,而不是接受它。。。你永远不知道什么时候会有人犯同样的错误。
override init(frame: CGRect) {
super.init(frame: frame)
NSBundle.mainBundle().loadNibNamed("customNib", owner: self, options: nil)
self.addSubview(self.view)
}