这个问题在这里已经有了答案:
Best Answer-推荐答案 strong>
问题出在你的名字上:
@property (strong, nonatomic) InputViewController *inputViewController;
Apple 在 UIResponder 类中添加了一个类似名称的属性:
@property (nonatomic, readonly, retain) UIInputViewController *inputViewController NS_AVAILABLE_IOS(8_0);
会发生这样的事情:
- 用户点击您的 TextField。
- 由于名称相似的属性,UIKit 框架将您的自定义 InputViewController 误认为是
UIInputViewController
类型的实例。
- UIKit 尝试在 InputViewController 的实例上调用
UIInputViewController
的 keyboard
方法。
keyboard
方法在 InputViewController 上不存在,因为它不是 UIInputViewController
的实例。
- 你得到一个无法识别的选择器被发送到你的 ViewController 的错误,因为你的 ViewController 中没有这样的方法并且应用程序正确地崩溃了。
更改该属性的名称,您应该没问题。
更多详情,见Brian Nickel的回答here .
另请阅读 Apple 关于 UIInputViewController 的文档.
关于ios - 应用程序在 ios 中触摸 UITextField 时崩溃,我们在Stack Overflow上找到一个类似的问题:
https://stackoverflow.com/questions/39078134/
欢迎光临 OGeek|极客世界-中国程序员成长平台 (https://ogeek.cn/) |
Powered by Discuz! X3.4 |