所以我正在开发iOS键盘扩展,我希望我的返回按钮文本根据returnKeyType
进行更改,但是,似乎此API在键盘扩展上无法正常工作。
我有一个托管应用程序和一些UITextField,当我使用内置英文键盘时,它的返回键根据我为UITextField设置的returnKeyType
正确更改。
但对于我自己的键盘扩展,我运行调试器,我总是看到
self.textDocumentProxy.returnKeyType = .default
我的逻辑很简单,我有这个函数来改变返回文本
public func changeReturnText() {
var text: String
let returnKeyType = self.textDocumentProxy.returnKeyType
SpeedLog.log("Return Key Type: \(returnKeyType?.rawValue ?? -1)")
switch returnKeyType ?? .default {
case .continue:
text = "繼續"
case .done:
text = "完成"
case .go, .google, .yahoo:
text = "前往"
case .search:
text = "搜尋"
case .next:
text = "下一個"
case .send:
text = "送出"
default:
text = "換行"
}
returnKey.text = text
}
然后我把那个功能放在init()
我能够针对此运行调试器,但即使我将UITextField self.textDocumentProxy.returnKeyType
设置为.default
,而内置英语键盘工作,returnKeyType
始终会返回.done
正好。
有什么想法吗?非常感激。
答案 0 :(得分:1)
正如Ben Pious指出的那样,显然我过早地打电话给textDocumentProxy
。并注意到textDocumentProxy
仅在帧非零后才可用。