Nieobsługiwane typy klawiatury Xcode iOS 8

128

Mam UITextFieldprzeciągniętą Ctrl @Outletw mojej .swiftklasie. Teraz viewDidLoadużywam tego kodu

self.myTextField.keyboardType = UIKeyboardType.DecimalPad

Kiedy uruchamiam moją aplikację na symulatorze i klikam „ UITextFieldMam ten dziennik”

    Can't find keyplane that supports type 8 for keyboard 
    iPhone-Portrait-DecimalPad; 
    using 2617181025_Portrait_iPhone-Simple-Pad_Default

Nie mam awarii ani nic, ale klawiatura nie jest wyświetlana. Próbowałem też to ustawić, Storyboardale jest to to samo.

Zauważyłem również, że za każdym razem, gdy klikam na jakąkolwiek UITextField klawiaturę, nigdy nie jest wyświetlana (ale nie jest wyświetlany dziennik dla domyślnej klawiatury)

Używam Xcode-Beta 3, ktoś napotkał ten problem?

r4id4
źródło
Skorzystaj z tego linku
yazh
Wciąż problem tylko na symulatorze ty. Xcode 8.3
Craig
Żadna z odpowiedzi na tej stronie nie jest już istotna (stan na lipiec 2017 r.), Przynajmniej w przypadku Xcode 8.
AnBisw
1
Xcode 11.2.1. Fizyczny iPhone X. Ten sam problem.
Vince O'Sullivan

Odpowiedzi:

207

Ja też miałem ten problem po aktualizacji do najnowszej wersji Xcode Beta. Ustawienia na symulatorze zostały odświeżone, więc wykryto klawiaturę laptopa (zewnętrzną). Jeśli po prostu naciśniesz:

 Symulator iOS -> Sprzęt -> Klawiatura -> Podłącz klawiaturę sprzętową

następnie klawiatura programowa zostanie ponownie wyświetlona.

Tony Abboud
źródło
175
Widzę to na fizycznym urządzeniu (iPhone 5) z Xcode 6 i iOS GM.
JLundell,
11
Dostaję to również na iPhonie 6 z najnowszym Xcode z App Store.
Daniel Wood
11
Klawiatura pokazuje, ale ostrzeżenie jest nadal obecne nawet w oficjalnej wersji xcode
ArdenDev
9
Nadal istnieją w Xcode 6.1. Używam urządzenia iPhone 5
DShah
13
XCode 7.3 iPhone 6 iOS 9.3, wciąż tam
Jasper
33

Przejdź do iOS Simulator-> Hardware-> Keyboard ->Odznacz Connect Hardware Keyboardopcję. To rozwiąże problem.

Annu
źródło
20
Dzieje się nawet wtedy, gdy nie jest zaznaczone.
Danyal Aytekin
20

Ten komunikat pojawia się, gdy typ klawiatury jest ustawiony na numberPad lub DecimalPad. Ale kod działa dobrze. Wygląda na to, że jest to błąd w nowym Xcode.

Gary13
źródło
Nadal prawdziwe do dziś. „Wygląda na to, że to błąd w nowym Xcode”.
Philip Borbon
18

Jeśli otrzymujesz ten błąd z Xcode Beta, jest to błąd beta i można go zignorować (o ile mi powiedziano). Jeśli możesz kompilować i uruchamiać w wersji kompilacji Xcode bez tego błędu, to nie Twoja aplikacja ma problem.

Nie w 100%, ale zobacz, czy to rozwiąże problem:

Symulator iOS -> Sprzęt -> Klawiatura -> Przełącz klawiaturę oprogramowania.

Wtedy wszystko działa

Erik Bean
źródło
1
Hej, twoje rozwiązania nie działają, ALE próbowałem odznaczyć iOS Simulator -> Hardware -> Keyboard -> Connect Hardware Keyboard, teraz klawiatura jest wyświetlana, nawet myślę, że nie mogę pisać z klawiatury mojego
Maca,
Przepraszam, że zajęło mi tak dużo czasu na odpowiedź, próbuję debugować własną aplikację. Co się dzieje, to pola tekstowe informujące klawiaturę, że tekst ma rozmiar ujemny. Musisz albo zmienić rozmiar tekstu na .xxx, albo zwiększyć rozmiar pola tekstowego.
Erik Bean
Ale po prostu przeciągnąłem plik UITextFieldz panelu do mojego storyboardu, nic więcej. Czy to błąd programu Xcode-Beta 3?
r4id4
Spróbuj zastąpić pole tekstowe nowym. Miałem ten sam problem, w jaki sposób znalazłem twój. Było to spowodowane tym, że moje pole tekstowe było mniejsze niż domyślne. Jest to jednak możliwe. Sprawdź fora dla programistów!
Erik Bean
Mam ten sam problem ... działa, jeśli ustawisz typ klawiatury na domyślny. Nie ułamek dziesiętny ani klawiatura numeryczna ... bardzo dziwne
Bidstrup
14

Rozwiązałem ten problem, odznaczając opcję „Podłącz klawiaturę sprzętową”. Zapoznaj się z poniższym obrazem, aby rozwiązać ten problemwprowadź opis obrazu tutaj

btmanikandan
źródło
4

Xcode: 6.4 iOS: 8 Również dostałem ten błąd, ale z zupełnie innego powodu.

//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

Wystąpił ten sam błąd (zapisz, że mój był „typ 4” zamiast „typ 8”), dopóki nie odkryłem, że brakuje mi tego wiersza:

[self.enhancedNumpadToolbar sizeToFit];

Dodałem to i słońce zaczęło świecić, ptaki zaczęły ćwierkać i wszystko było dobrze na świecie.

PS Otrzymałbyś również taki błąd przy innych psotach, takich jak zapomnienie o przydzieleniu / zainicjowaniu.

AmitaiB
źródło
3
Mam ten problem i nawet przy sizeToFit otrzymuję to samo ostrzeżenie.
Nuno Gonçalves
Musiałbym zobaczyć twój kod, aby sprawdzić, czy mam wgląd, ponieważ ten błąd może być spowodowany wieloma błędami. [Trochę jak entropia lub bon mot Tołstoja o dysfunkcyjnym życiu domowym: „Wszystkie szczęśliwe rodziny są do siebie podobne; każda nieszczęśliwa rodzina jest nieszczęśliwa na swój sposób ”]. Czy możesz to opublikować?
AmitaiB
0

Ten błąd pojawił się, gdy typ wprowadzania klawiatury to Klawiatura numeryczna.Wystąpił ten sam błąd, co podczas zmiany typu wprowadzania danych z klawiatury Textfield na domyślny, napraw mój problem.

Anas
źródło
0

Nie ma „klawiatury numerycznej” dla iPadów po wyjęciu z pudełka. Po określeniu jednego iPada wyświetlają normalną klawiaturę z wyświetloną częścią numeryczną. Możesz przełączyć się na znaki alfabetu itp. Jeśli chcesz wyświetlać klawiaturę tylko cyfrową dla iPada, musisz zaimplementować ją samodzielnie.

Zobacz tutaj: Klawiatura numeryczna na iPadzie?

KeithTheBiped
źródło
0

Symulator iOS -> I / O -> Klawiatura -> Podłącz klawiaturę sprzętową

Miałem do czynienia z podobnymi problemami, ale powyższy schemat blokowy jest rozwiązaniem problemu.

Pratik Jaluka
źródło
-2

U mnie włączam i wyłączam ustawienie

Symulator iOS -> Sprzęt -> Klawiatura -> Podłącz klawiaturę sprzętową

okazało się, że rozwiązuje problem na symulatorach.

Alfonso Nava
źródło