我正在开发自定义键盘,添加一个目标模式的“自定义键盘”。
所以我正在开发我的UIInputViewController子类。
我已经完成了使我的自定义键盘类型正确。
因此,我需要根据用户到目前为止输入的文本,在我的自定义键盘上方创建一个建议视图。
它与默认系统键盘之一完全相同。
但是,当我试图使用下面的代码访问“inputAccessoryView”时:
let customView = UIView(frame:CGRectMake(0,0,UIScreen.mainScreen().bounds.width,100))
customView.backgroundColor = UIColor.redColor()
self.inputAccessoryView = customView
我有个错误:
无法分配属性:‘iputAccessoryView’是一个只读属性
我搜了很多遍,但对我没什么用。
我发现了一些关于'UITextField'
和 'accessoryview of UITextField'
not related to 'UIInputViewController'
**.**的帖子
,但是在激活自动完成模式之后,默认的系统键盘会向我显示充满建议关键字的inputAccessoryView,但是我的自定义键盘本身没有显示任何东西。
我认为这项工作应该在“UIInputViewController”中完成,而不是用“UITextField”,而激活是我的自定义键盘创建inputAccessoryview.所必需的。
我遗漏了什么或者误解了什么吗?
发布于 2016-08-12 06:54:31
苹果的数据输入的自定义视图文档称:
“任何直接或间接从
UIResponder
继承的类(通常是自定义视图)都可以指定自己的输入视图和输入附件视图。”
您确实需要在像UIView
或UITextField
这样的子类中定义您的UIResponder
,它们都是从UIResponder
继承的。通过这样做,您可以定义当特定类型的视图成为第一个响应者时,应该在键盘上显示什么。
你最终会得到这样的结果:
class MyTextField: UITextField {
override var inputAccessoryView: UIView? {
return myView
}
}
当MyTextField
成为第一个响应器时,myView
将显示在键盘上方。
https://stackoverflow.com/questions/38806646
复制相似问题