2016-08-06 72 views
1

我正在开发添加目标模式“自定义键盘”的自定义键盘。ios)如何创建自定义键盘上方的建议视图

所以我正在开发我的UIInputViewController的子类。

我已经完成了正确的自定义键盘类型。

所以我需要根据用户输入的文本在我的自定义键盘上方创建一个建议视图。

这是与默认系统键盘完全相同的模块。

,但是当我试图访问 'inputAccessoryView' 与下面的代码:

let customView = UIView(frame:CGRectMake(0,0,UIScreen.mainScreen().bounds.width,100)) 
customView.backgroundColor = UIColor.redColor() 
self.inputAccessoryView = customView 

我得到了一个错误:

无法指定属性: 'iputAccessoryView' 是一个GET-唯一的财产

我搜索了很多,但没有与我合作。

我发现有些帖子指的是'UITextField''accessoryview of UITextField'not related to 'UIInputViewController'

但激活自动完成模式后,系统默认的键盘显示我inputAccessoryView全建议的关键字,但我的自定义键盘显示什么上面本身。

我认为,这项工作必须在“UIInputViewController”做不“的UITextField”和激活是必要的我的自定义键盘来创建其inputAccessoryview。

有什么我失踪或误解?

回答

0

苹果Custom Views for Data Input文档状态:

“任何类从UIResponder(通常 自定义视图)直接或间接地继承可以指定自己的输入视图,输入附件 看法。”

你需要确定你的inputAccessoryView在像UIViewUITextField这无论从UIResponder继承一个子类。通过这样做,您可以定义特定种类的视图成为第一响应者时应在键盘上显示的内容。

最后你会喜欢的东西:

class MyTextField: UITextField { 
    override var inputAccessoryView: UIView? { 
     return myView 
    } 
} 

MyTextField成为第一个响应者,myView将键盘上方显示。