不支持 Xcode iOS 8键盘类型

我有一个 UITextField Ctrl 拖动作为一个 @Outlet在我的 .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设置它,但它是相同的。

我还注意到,每当我点击 任何 UITextField键盘从来没有显示(但没有日志显示的 违约键盘)

我正在使用 Xcode-Beta 3有人遇到过这个问题吗?

113291 次浏览

如果你在 Xcode Beta 中得到了这个 bug,那么它就是一个 Beta bug,可以被忽略(据我所知)。如果您可以在 Xcode 的发布版本上构建并运行而不出现这个错误,那么问题不在您的应用程序上。

不是100% 肯定,但看看这能不能解决问题:

IOS 模拟器-> 硬件-> 键盘-> 切换软件键盘。

那么,一切都会好起来的

在升级到最新的 Xcode Beta 之后,我也遇到了这个问题。模拟器上的设置被刷新,因此检测到了膝上型电脑(外部)键盘。如果你按下:

IOS 模拟器-> 硬件-> 键盘-> 连接硬件键盘

然后软件键盘将再次显示。

转到 iOS Simulator-> Hardware-> Keyboard ->取消选中 Connect Hardware Keyboard选项。 这将解决问题。

我已经通过取消选中“连接硬件键盘”来修复这个问题。请参考下面的图片来修复这个问题enter image description here

当键盘类型设置为 numberPad 或 DecimalPad 时会出现此消息。但是代码运行得很好。看起来是新 Xcode 的 bug。

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];

我加上它,太阳开始照耀,鸟儿又开始鸣叫,世界一切都好起来了。

另外,如果出现其他错误,比如忘记了 alloc/init,也会出现这样的错误。

当您的键盘输入类型为 Number Pad 时,出现了这个错误。我得到的错误与我将 Textfield 键盘输入类型更改为 Default 修复我的问题的错误相同。

对于我打开和关闭设置

IOS 模拟器-> 硬件-> 键盘-> 连接硬件键盘

在模拟器上解决了这个问题。

没有开箱即用的“数字键盘”。当您指定一台 iPad 时,将显示显示数字部分的普通键盘。你可以切换到字母字符,等等。如果你想在 iPad 上只显示数字键盘,你必须自己实现它。

看这里: IPad 上的数字键盘?

IOS 模拟器-> I/O-> 键盘-> 连接硬件键盘

我面临着类似的问题,但以上流程图是你的问题的修复。