我正在创建一个用Swift编写的自定义键盘扩展。我正在尝试使用Nib(.xib)文件直观地设计键盘。我在尝试连接按钮时遇到错误。
我发现我的Nib(KeyboardView)不会显示,除非我在我的KeyboardViewController的viewDidLoad()方法中明确添加它:
self.view.addSubview(UINib(nibName: "KeyboardView", bundle: nil).instantiateWithOwner(nil, options: nil)[0] as UIView)
然后我从我的笔尖连接了一个按钮,生成了这个按钮:
@IBOutlet weak var nextKeyboardButton: UIButton!
当我测试键盘时,我收到以下错误:'此类不是键值nextKeyboardButton的键值编码。'
如果我删除了连接,则错误消失并且键盘正确显示。我正在使用内置的自定义键盘模板,除了添加上面的子视图和笔尖中的单个按钮之外,还没有添加任何代码。
答案 0 :(得分:2)
发现我的问题,在加载我的笔尖时必须指定所有者(自己):
self.view.addSubview(UINib(nibName: "KeyboardView", bundle: nil).instantiateWithOwner(self, options: nil)[0] as UIView)