不支持 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 键盘类型的主要内容,如果未能解决你的问题,请参考以下文章