Xcode iOS 8 Типи клавіатури не підтримуються


128

У мене є UITextFieldCtrl-тягнув як @Outletв моєму .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, хто стикався з цією проблемою?


Перейдіть за цим посиланням
yazh

Все-таки проблема лише на тренажері ти. Xcode 8.3
Крейг

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

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

Відповіді:


207

У мене теж була ця проблема після оновлення до останньої бета-версії Xcode. Налаштування на тренажері оновлені, тому було виявлено (зовнішню) клавіатуру ноутбука. Якщо ви просто натисніть:

 iOS Simulator -> Обладнання -> Клавіатура -> Підключення апаратної клавіатури

тоді знову з’явиться програмна клавіатура.


172
Я бачу це на фізичному пристрої (iPhone 5), на якому працює Xcode 6 & iOS GM.
JLundell

10
Я також отримую це на iPhone 6 із останнім Xcode від App Store.
Даніель Вуд

11
Клавіатура показує, але попередження все ще існує навіть з офіційною версією xcode
ArdenDev

9
Досі існують у Xcode 6.1. Я працюю на пристрої iPhone 5
DShah

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

33

Перейдіть, щоб iOS Simulator-> Hardware-> Keyboard ->зняти прапорець Connect Hardware Keyboard. Це виправить проблему.


20
Відбувається, навіть якщо це не встановлено.
Данял Айтекін

20

Це повідомлення надходить, коли для типу клавіатури встановлено числоPad або DecimalPad. Але код працює чудово. Схоже, його помилка з новим Xcode.


18

Якщо ви отримуєте цю помилку з Xcode Beta, це бета-помилка, і її можна ігнорувати (наскільки мені сказали). Якщо ви можете створити та запустити версію Xcode без цієї помилки, тоді проблема не у вашому додатку.

Не на 100% на це, але подивіться, чи це вирішує проблему:

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

Потім все працює


1
Привіт, ваші рішення не працюють, але я намагався зняти прапорець iOS Simulator -> Hardware -> Keyboard -> Connect Hardware Keyboard, але тепер клавіатура показана, навіть я не міг набрати з моєї Mac клавіатури, і попередження все ще присутнє в журналах
r4id4

Вибачте, що я так довго відповідав, я намагався налагодити власну програму. Що відбувається, це те, що ваші текстові поля повідомляють, що ваша клавіатура має текст негативного розміру. Вам потрібно або змінити розмір тексту на .xxx, або змінити розмір тексту.
Ерік Бін

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

Спробуйте замінити текстове поле на нове. У мене була ця сама проблема, як я знайшов вашу. Це було спричинено тим, що моє текстове поле менше за замовчуванням. Це можливо, хоча. Перевірте форуми розробників!
Ерік Бін

У мене така ж проблема .. вона працює, якщо типовий тип клавіатури встановити за замовчуванням. Не десятковий або цифровий накладки .. дуже дивно
Bidstrup

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 Ви також отримаєте таку помилку в інших помилках, наприклад, забувши виділити / init.


3
У мене є ця проблема, і навіть з sizeToFit я отримую таке ж попередження.
Nuno Gonçalves

Мені потрібно переглянути ваш код, щоб побачити, чи маю я якусь інформацію, оскільки ця помилка може бути викликана будь-якою кількістю речей, що йдуть не так. [Сорта, як ентропія, або Толстой головний мотив про нефункціональне домашнє життя: "Усі щасливі сім'ї схожі; кожна нещасна родина нещасна по-своєму. "] Чи можете ви це опублікувати?
AmitaiB

0

Ця помилка сталася, коли тип введення вашої клавіатури - цифрова клавіатура. Я отримав таку ж помилку, що і я змінив тип введення клавіатури Textfield на типовий виправити свою проблему.


0

Немає "Цифрової клавіатури" для iPad поза коробкою. Коли Ви вказуєте один iPad, відображатиметься звичайна клавіатура з цифровою частиною. Ви можете переключитися на альфа-символи тощо. Якщо ви хочете відображати цифри лише для клавіатури для iPad, ви повинні виконати її самостійно.

Дивіться тут: Цифрова клавіатура в iPad?


-2

Увімкнення та вимкнення налаштування для мене

iOS Simulator -> Обладнання -> Клавіатура -> Підключення апаратної клавіатури

Довели, що вирішили проблему на тренажерах.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.