我正在开发一个iOS 8的键盘扩展程序,目前当用户点击我的Return键时,我会运行以下代码:
[self.textDocumentProxy insertText:@"\n"];
这在大多数地方都可以正常工作。但是,在联系人应用程序中,如果我编辑一个联系人,选择名字字段,然后按回车键,什么也不会发生。它没有像预期的那样移动到下一个字段。这与默认键盘形成对比,后者确实会移动到下一个字段。
我做错了什么吗?
我正在开发一个iOS 8的键盘扩展程序,目前当用户点击我的Return键时,我会运行以下代码:
[self.textDocumentProxy insertText:@"\n"];
这在大多数地方都可以正常工作。但是,在联系人应用程序中,如果我编辑一个联系人,选择名字字段,然后按回车键,什么也不会发生。它没有像预期的那样移动到下一个字段。这与默认键盘形成对比,后者确实会移动到下一个字段。
我做错了什么吗?
是的。实际上,每个textDocumentProxy都有自己的UIReturnKeyType。根据这个类型,应该更改由您的Return键使用的方法。
typedef NS_ENUM(NSInteger, UIReturnKeyType) {
UIReturnKeyDefault,
UIReturnKeyGo,
UIReturnKeyGoogle,
UIReturnKeyJoin,
UIReturnKeyNext,
UIReturnKeyRoute,
UIReturnKeySearch,
UIReturnKeySend,
UIReturnKeyYahoo,
UIReturnKeyDone,
UIReturnKeyEmergencyCall,
};
self.textDocumentProxy.returnKeyType
返回 UIReturnKeyNext
,请实现跳转到下一个响应者。