【问题标题】:Xcode iOS 8 Keyboard types not supported不支持 Xcode iOS 8 键盘类型
【发布时间】: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 这是怎么解决的??

标签: ios xcode keyboard swift ios8


【解决方案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 -> 键盘 -> 连接硬件键盘

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

          【讨论】:

            猜你喜欢
            • 2017-03-03
            • 2021-08-16
            • 2017-01-20
            • 2015-12-15
            • 2015-12-18
            • 2018-02-19
            • 1970-01-01
            • 2016-08-19
            相关资源
            最近更新 更多