我的类是UIInputViewController的一个子类。我想访问UIInputViewController的UIInputViewController对象,这样就可以在textDocumentProxy上调用insertText。
从文档来看,textDocumentProxy符合符合UIKeyInput的UITextDocumentProxy。
基于上述逻辑,我为什么不能简单地做以下工作。
self.textDocumentProxy.insertText("Hello World")相反,我得到以下错误
'NSObject‘没有一个名为'insertText’的成员
我要做什么特别的演员吗?
这里是文档的一个片段。
class UIInputViewController : UIViewController, UITextInputDelegate, NSObjectProtocol {
var textDocumentProxy: NSObject! { get }
}
protocol UITextDocumentProxy : UIKeyInput, UITextInputTraits, NSObjectProtocol {
var documentContextBeforeInput: String! { get }
var documentContextAfterInput: String! { get }
}
protocol UIKeyInput : UITextInputTraits, NSObjectProtocol {
func hasText() -> Bool
func insertText(text: String!)
func deleteBackward()
}发布于 2014-06-08 13:07:08
您可以像这样在单行上调用此方法
(self.textDocumentProxy as UITextDocumentProxy as UIKeyInput).insertText("Hello World!")或
(self.textDocumentProxy as UIKeyInput).insertText("Hello World!")发布于 2014-06-08 08:00:10
因为继承的协议,我不得不两次失望。
let textDocument = self.textDocumentProxy as UITextDocumentProxy as UIKeyInput
https://stackoverflow.com/questions/24103875
复制相似问题