2

我正在创建一个用 Swift 编写的自定义键盘扩展。我正在尝试使用 Nib (.xib) 文件直观地设计键盘。尝试连接按钮时出现错误。

我发现我的 Nib (KeyboardView) 不会出现,除非我在 KeyboardViewController 的 viewDidLoad() 方法中明确添加它:

self.view.addSubview(UINib(nibName: "KeyboardView", bundle: nil).instantiateWithOwner(nil, options: nil)[0] as UIView)

然后我从我的 Nib 连接了一个按钮,它生成了这个:

@IBOutlet weak var nextKeyboardButton: UIButton!

当我测试我的键盘时,我收到以下错误:“此类与键 nextKeyboardButton 的键值编码不兼容。”

如果我删除连接,错误就会消失并且键盘会正确显示。我正在使用内置的自定义键盘模板,除了添加上面的子视图和 Nib 中的单个按钮之外,没有添加任何代码。

4

1 回答 1

2

发现我的问题,在加载我的笔尖时必须指定所有者(自己):

self.view.addSubview(UINib(nibName: "KeyboardView", bundle: nil).instantiateWithOwner(self, options: nil)[0] as UIView)
于 2014-11-07T15:22:02.967 回答