我在UITextField
课程中将@Outlet
按住Ctrl键拖动为.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任何人遇到过这个问题?
答案 0 :(得分:196)
更新到最新的Xcode Beta后,我也遇到了这个问题。刷新模拟器上的设置,因此正在检测笔记本电脑(外部)键盘。如果您只需按:
iOS Simulator -> Hardware -> Keyboard -> Connect Hardware Keyboard
然后再次显示软件键盘。
答案 1 :(得分:30)
转到iOS Simulator-> Hardware-> Keyboard ->
取消选中Connect Hardware Keyboard
选项。
这将解决问题。
答案 2 :(得分:18)
如果您在Xcode Beta中遇到此错误,那么它就是一个测试版错误,可以忽略(据我所知)。如果您可以在没有此错误的情况下构建和运行Xcode的发布版本,那么您的应用程序就不会出现此问题。
这不是100%,但看看这是否解决了问题:
iOS模拟器 - >硬件 - >键盘 - >切换软件键盘。
然后,一切正常
答案 3 :(得分:17)
当键盘类型设置为numberPad或DecimalPad时,会出现此消息。但代码工作得很好。看起来它是新Xcode的一个错误。
答案 4 :(得分:12)
我通过取消选中“连接硬件键盘”修复了此问题。请参阅下图以解决此问题
答案 5 :(得分:3)
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你也会因为忘记分配/初始化等错误而得到这样的错误。
答案 6 :(得分:0)
当你的键盘输入类型是数字键盘时出现此错误。我得到的错误与我将Textfield键盘输入类型更改为默认修复我的问题相同。
答案 7 :(得分:0)
没有开箱即用的iPad数字键盘。当您指定一台iPad时,显示带有数字部分的普通键盘。您可以切换到字母字符等。如果要显示iPad专用数字键盘,则必须自己实现。
答案 8 :(得分:0)
iOS Simulator-> I / O->键盘->连接硬件键盘
我也遇到过类似的问题,但流程图上方是解决您的问题的方法。
答案 9 :(得分:-1)
让我打开和关闭
上的设置iOS模拟器 - >硬件 - >键盘 - >连接硬件键盘
证明可以解决模拟器上的问题。