我的
UITextField
类中有一个 @Outlet
按住 Ctrl 键拖动为 .swift
。
现在在viewDidLoad
我正在使用这个代码
self.myTextField.keyboardType = UIKeyboardType.DecimalPad
当我在模拟器上启动我的应用程序并单击
UITextField
时,我收到了此日志
Can't find keyplane that supports type 8 for keyboard
iPhone-Portrait-DecimalPad;
using 2617181025_Portrait_iPhone-Simple-Pad_Default
我没有崩溃或其他问题,但键盘不显示。我也尝试从
Storyboard
设置它,但它是一样的。
我还注意到,每当我单击any
UITextField
时,键盘永远不会显示(但default键盘不会显示任何日志)
我正在使用 Xcode-Beta 3 有人遇到过这个问题吗?
更新到最新的 Xcode Beta 后我也遇到了这个问题。模拟器上的设置已刷新,因此正在检测笔记本电脑(外部)键盘。如果您只需按:
iOS 模拟器 -> 硬件 -> 键盘 -> 连接硬件键盘
然后软件键盘将再次显示。
转到
iOS Simulator-> Hardware-> Keyboard ->
取消选中 Connect Hardware Keyboard
选项。
这将解决问题。
当键盘类型设置为 numberPad 或 DecimalPad 时,会出现此消息。但代码运行得很好。看起来它是新 Xcode 的一个错误。
如果您在 Xcode Beta 中遇到此错误,那么它是一个 Beta 错误,可以忽略(据我所知)。如果您可以在 Xcode 的发布版本上构建并运行而不会出现此错误,那么问题就不是您的应用程序。
不是 100%,但看看这是否可以解决问题:
iOS 模拟器 -> 硬件 -> 键盘 -> 切换软件键盘。
然后一切正常
我通过取消选中“连接硬件键盘”解决了此问题。请参考下图解决此问题
Xcode:6.4 iOS:8 我也遇到了这个错误,但原因完全不同。
//UIKeyboardTypeNumberPad needs a "Done" button
UIBarButtonItem *doneBarButton = [[UIBarButtonItem alloc]initWithBarButtonSystemItem:UIBarButtonSystemItemDone
target:self
action:@selector(doneBarButtonTapped:)];
enhancedNumpadToolbar = [[UIToolbar alloc]init]; // previously declared
[self.enhancedNumpadToolbar setItems:@[doneBarButton]];
self.myNumberTextField.inputAccessoryView = self.enhancedNumpadToolbar; //txf previously declared
我得到了同样的错误(保存我的是“type 4”而不是“type 8”),直到我发现我错过了这一行:
[self.enhancedNumpadToolbar sizeToFit];
我添加了它,阳光开始照耀,鸟儿重新鸣叫,世界一切都好。
PS 你也会因为其他恶作剧而得到这样的错误,例如忘记分配/初始化。
当您的键盘输入类型是数字键盘时,就会出现此错误。我遇到了与将文本字段键盘输入类型更改为默认值相同的错误,解决了我的问题。
iPad 没有开箱即用的“数字键盘”。当您指定一台 iPad 时,将显示普通键盘并显示数字部分。您可以切换到字母字符等。如果您想为 iPad 显示仅数字键盘,您必须自己实现。
请参阅此处:iPad 中的数字键盘?
iOS 模拟器 -> I/O -> 键盘 -> 连接硬件键盘
我遇到了类似的问题,但上面的流程图是您问题的解决方案。
只需按 ⌘ K 即可切换模拟器上的键盘。
对于我来说打开和关闭设置
iOS 模拟器 -> 硬件 -> 键盘 -> 连接硬件键盘
事实证明可以解决模拟器上的问题。