不支持Xcode iOS 8键盘类型


128

我在课堂上有一个UITextFieldCtrl-drag作为。现在我正在使用此代码@Outlet.swiftviewDidLoad

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,有人遇到过此问题吗?


请参阅此链接
yazh

仅在模拟器上还是一个问题。Xcode 8.3
Craig

至少与Xcode 8无关,此页面中的答案不再相关(截至2017年7月)
。– AnBisw

1
Xcode 11.2.1。物理iPhoneX。同样的问题。
文斯·奥沙利文

Answers:


207

更新到最新的Xcode Beta之后,我也遇到了这个问题。模拟器上的设置已刷新,因此检测到便携式计算机(外部)键盘。如果您只是按:

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

然后软键盘将再次显示。


172
我在运行Xcode 6和iOS GM的物理设备(iPhone 5)上看到它。
JLundell 2014年

10
我还在App Store上使用最新Xcode的iPhone 6上获得了此功能。
丹尼尔·伍德

11
键盘显示,但即​​使使用xcode的正式版本,警告仍然存在
ArdenDev 2014年

9
在Xcode 6.1中仍然存在。我正在iPhone 5设备上运行
DShah 2014年

13
XCode 7.3 iPhone 6 iOS 9.3仍然存在
Jasper 2016年

33

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


20
即使未选中,也会发生。
Danyal Aytekin

20

当键盘类型设置为numberPad或DecimalPad时,将出现此消息。但是代码可以正常工作。看起来像是新Xcode的错误。


18

如果您在Xcode Beta中遇到此错误,则它是一个Beta错误,可以忽略(据我所知)。如果您可以在没有此错误的情况下在Xcode的发行版上进行构建和运行,则不是您的应用出现问题。

并非100%都可以,但是请看这是否可以解决问题:

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

然后,一切正常


1
嘿,您的解决方案无法正常工作,我尝试取消选中iOS Simulator -> Hardware -> Keyboard -> Connect Hardware Keyboard,现在显示键盘,甚至认为我无法从Mac键盘上输入,并且警告仍然存在于日志中
r4id4 2014年

抱歉,我花了很长时间才回复,我一直在尝试调试自己的应用程序。发生的情况是您的文本字段告诉键盘文本为负数。您需要将文本大小更改为.xxx或将文本字段调整为更大的大小。
Erik Bean

但是我只是UITextField从面板将crtl拖到我的故事板,仅此而已。是一个错误Xcode-Beta 3吗?
r4id4 2014年

尝试用一个新的替换文本框。我也遇到了同样的问题,这就是我如何找到您的问题。这是由于我的文本框小于默认值所致。虽然有可能。查看开发者论坛!
埃里克·宾

我有同样的问题..如果您将“键盘类型”设置为默认值,它将起作用。不是小数或数字键盘..非常奇怪
Bidstrup 2014年

14

我已通过取消选中“连接硬件键盘”来解决此问题。请参考下面的图片解决此问题在此处输入图片说明


4

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

我遇到了同样的错误(保存我的错误是“类型4”,而不是“类型8”),直到发现缺少此行:

[self.enhancedNumpadToolbar sizeToFit];

我加了它,阳光开始照耀,鸟儿又开始鸣叫,世界一切都很好。

PS您还会因其他恶作剧而遇到此类错误,例如忘记分配/初始化。


3
我遇到了这个问题,即使使用sizeToFit我也收到同样的警告。
NunoGonçalves15年

我需要查看您的代码以了解我是否有任何见解,因为此错误可能是由许多错误导致的。[有点儿像熵,或者托尔斯泰的苯教MOT有关功能失调的家庭生活:“所有幸福的家庭都是相似的; 每个不幸的家庭都会以自己的方式感到不幸。”]可以张贴吗?
AmitaiB 2015年

0

当您的键盘输入类型为数字键盘时出现此错误。我遇到的错误与将“文本字段”键盘输入类型更改为“默认”的错误相同。


0

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

请参阅此处: iPad中的数字键盘?


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.