不支持 Xcode iOS 8 键盘类型

Posted

技术标签:

【中文标题】不支持 Xcode iOS 8 键盘类型【英文标题】:Xcode iOS 8 Keyboard types not supported 【发布时间】:2014-09-12 08:07:01 【问题描述】:

我的.swift 类中有一个UITextField Ctrl 拖动为@Outlet。 现在在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,有人遇到过这个问题吗?

【问题讨论】:

参考这个link 仍然是模拟器上的问题。 Xcode 8.3 此页面中的所有答案都不再相关(截至 2017 年 7 月),至少在 Xcode 8 中是这样。 Xcode 11.2.1。物理 iPhone X。同样的问题。 @VinceO'Sullivan 这是怎么解决的?? 【参考方案1】:

如果您在 Xcode Beta 中遇到此错误,则它是一个 Beta 错误,可以忽略(据我所知)。如果您可以在 Xcode 的发布版本上构建和运行而不会出现此错误,那么问题不是您的应用程序。

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

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

然后,一切正常

【讨论】:

嘿,您的解决方案不起作用,但是 我试图取消选中 iOS Simulator -> Hardware -> Keyboard -> Connect Hardware Keyboard,现在即使我无法从我的 mac 键盘输入,也会显示键盘警告仍然存在于日志中 对不起,我花了这么长时间才回复,我一直在尝试调试我自己的应用程序。发生的事情是您的文本字段告诉您的键盘文本是负数。您需要将文本大小更改为 .xxx 或将文本字段的大小调整为更大。 但我只是简单地将UITextField 从面板拖到我的故事板中,仅此而已。是Xcode-Beta 3的bug吗? 尝试用新文本框替换文本框。我遇到了同样的问题,这就是我找到你的问题的方式。这是由于我的文本框比默认值小。这是可能的。查看开发者论坛! 我有同样的问题.. 如果您将键盘类型设置为默认值,它会起作用。不是小数或数字键盘.. 很奇怪【参考方案2】:

更新到最新的 Xcode Beta 后,我也遇到了这个问题。模拟器上的设置已刷新,因此正在检测笔记本电脑(外部)键盘。如果您只需按:

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

然后会再次显示软键盘。

【讨论】:

我在运行 Xcode 6 和 iOS GM 的物理设备 (iPhone 5) 上看到它。 我也在 iPhone 6 上使用了 App Store 中最新的 Xcode。 键盘显示,但是xcode正式版还是有警告 在 Xcode 6.1 中仍然存在。我在 iPhone 5 设备上运行 XCode 7.3 iPhone 6 iOS 9.3,还在【参考方案3】:

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

【讨论】:

即使未选中也会发生。【参考方案4】:

我已通过取消选中“连接硬件键盘”来解决此问题。请参考下图解决此问题

【讨论】:

【参考方案5】:

当键盘类型设置为 numberPad 或 DecimalPad 时会出现此消息。但是代码工作得很好。看起来它是新 Xcode 的一个错误。

【讨论】:

直到今天仍然如此。 “看起来它是新 Xcode 的一个错误。”【参考方案6】:

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 你也会因为其他恶作剧而得到这样的错误,例如忘记分配/初始化。

【讨论】:

我遇到了这个问题,即使使用 sizeToFit 我也会收到同样的警告。 我需要查看您的代码以了解我是否有任何见解,因为此错误可能是由许多问题引起的。 [有点像熵,或者托尔斯泰关于功能失调的家庭生活的bon mot:“所有幸福的家庭都是相似的;每个不快乐的家庭都有自己的不快乐。”] 你能贴出来吗?【参考方案7】:

当您的键盘输入类型为数字键盘时出现此错误。我遇到的错误与将 Textfield 键盘输入类型更改为默认相同,解决了我的问题。

【讨论】:

【参考方案8】:

为我打开和关闭设置

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

证明可以解决模拟器上的问题。

【讨论】:

【参考方案9】:

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

请看这里:Number keyboard in iPad?

【讨论】:

【参考方案10】:

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

我也遇到过类似的问题,但上面的流程图可以解决您的问题。

【讨论】:

以上是关于不支持 Xcode iOS 8 键盘类型的主要内容,如果未能解决你的问题,请参考以下文章

Xcode 8 Beta 6 不支持 iOS 10 Beta 7 sdk

Xcode 8 支持 iOS 7 真机解决过程记录

Xcode 9 新建的工程如何支持 iOS 8

解决低版本Xcode不支持高版本iOS真机调试问题

解决低版本Xcode不支持高版本iOS真机调试问题

iOS 8 - 如何隐藏键盘上方的建议列表?