Типы клавиатуры Xcode iOS 8 не поддерживаются


128

У меня в классе UITextFieldперетаскивается Ctrl . Теперь я использую этот код@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, кто-нибудь сталкивался с этой проблемой?



Еще проблема только на симуляторе ты. Xcode 8.3
Craig

Ни один из ответов на этой странице больше не актуален (по состоянию на июль 2017 года), по крайней мере, с Xcode 8.
AnBisw

1
Xcode 11.2.1. Физический iPhone X. Та же проблема.
Винс О'Салливан

Ответы:


207

У меня тоже была эта проблема после обновления до последней бета-версии Xcode. Настройки в симуляторе обновлены, поэтому обнаружена клавиатура ноутбука (внешняя). Если вы просто нажмете:

 Симулятор iOS -> Оборудование -> Клавиатура -> Подключить аппаратную клавиатуру

После этого снова отобразится программная клавиатура.


173
Я вижу это на физическом устройстве (iPhone 5) с Xcode 6 и iOS GM.
JLundell

10
Я также получаю это на iPhone 6 с последней версией Xcode из App Store.
Дэниел Вуд

11
Клавиатура отображается, но предупреждение все еще присутствует даже с официальной версией xcode
ArdenDev

9
Все еще существует в Xcode 6.1. Я использую устройство iPhone 5
Дшах

13
XCode 7.3 iPhone 6 iOS 9.3, все еще там
Джаспер

33

Перейти к iOS Simulator-> Hardware-> Keyboard ->снятию флажка с Connect Hardware Keyboardопции. Это решит проблему.


20
Случается, даже если этот флажок снят.
Даньял Айтекин

20

Это сообщение появляется, когда тип клавиатуры установлен на numberPad или DecimalPad. Но код работает нормально. Похоже, это ошибка нового Xcode.


18

Если вы получаете эту ошибку с Xcode Beta, это ошибка бета-версии, и ее можно игнорировать (насколько мне сказали). Если вы можете собрать и запустить выпускную сборку Xcode без этой ошибки, значит, проблема не в вашем приложении.

Не на 100%, но посмотрите, решит ли это проблему:

Симулятор iOS -> Оборудование -> Клавиатура -> Переключить программную клавиатуру.

Тогда все работает


1
Эй, ваши решения не работают, НО я попытался снять флажок iOS Simulator -> Hardware -> Keyboard -> Connect Hardware Keyboard, теперь клавиатура отображается, даже если я не могу печатать с моей клавиатуры Mac, и предупреждение все еще присутствует в журналах
r4id4

Извините, я так долго не отвечал, я пытался отладить собственное приложение. Что происходит, так это то, что ваши текстовые поля сообщают клавиатуре, что текст имеет отрицательный размер. Вам нужно либо изменить размер текста на .xxx, либо увеличить размер текстового поля.
Erik Bean

Но я просто перетащил элемент UITextFieldиз панели в свою раскадровку, и ничего больше. Это баг Xcode-Beta 3?
r4id4

Попробуйте заменить текстовое поле новым. У меня была такая же проблема, как я и нашел вашу. Это было вызвано тем, что мое текстовое поле было меньше, чем по умолчанию. Хотя это возможно. Посетите форумы разработчиков!
Erik Bean

У меня такая же проблема .. это работает, если вы установите Тип клавиатуры по умолчанию. Не десятичная или цифровая клавиатура .. очень странно
Бидструп

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 я получаю такое же предупреждение.
Нуну Гонсалвеш

Мне нужно увидеть ваш код, чтобы узнать, есть ли у меня какое-либо представление, поскольку эта ошибка может быть вызвана любым количеством неполадок. [Что-то вроде энтропии или болтовня Толстого о неблагополучной семейной жизни: «Все счастливые семьи похожи; каждая несчастная семья несчастлива по-своему. »] Вы можете опубликовать это?
AmitaiB

0

Эта ошибка возникла, когда тип ввода с клавиатуры - Цифровая клавиатура. У меня такая же ошибка, как и при изменении типа ввода с клавиатуры текстового поля на По умолчанию, исправить мою проблему.


0

"Цифровой клавиатуры" для iPad "из коробки" нет. При указании одного iPad отображается обычная клавиатура с отображаемой числовой частью. Вы можете переключиться на буквенные символы и т. Д. Если вы хотите отображать клавиатуру только с цифрами для iPad, вы должны реализовать это самостоятельно.

Смотрите здесь: Цифровая клавиатура в iPad?


-2

Для меня включение и выключение настройки на

Симулятор iOS -> Оборудование -> Клавиатура -> Подключить аппаратную клавиатуру

на симуляторах доказано, что проблема решена.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.