Tipos de teclado Xcode iOS 8 não suportados


128

Eu tenho um UITextFieldCtrl arrastado como @Outletna minha .swiftclasse. Agora viewDidLoadestou usando esse código

self.myTextField.keyboardType = UIKeyboardType.DecimalPad

Quando inicio meu aplicativo no simulador e clico no UITextFieldlink que recebi

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

Não tenho falhas ou algo assim, mas o teclado não é exibido. Eu também tentei configurá-lo, Storyboardmas é o mesmo.

Também notei que sempre que clico em um UITextField teclado o teclado nunca é exibido (mas nenhum registro é mostrado para o teclado padrão )

Estou usando o Xcode-Beta 3. Alguém enfrentou esse problema?


Consulte este link
— yazh 22/01/2015

Ainda é um problema apenas no simulador tu. Xcode 8.3
— Craig

Nenhuma das respostas nesta página é mais relevante (a partir de julho de 2017), pelo menos com o Xcode 8.
— AnBisw

1
Xcode 11.2.1. IPhone físico X. O mesmo problema.
— Vince O'Sullivan

Respostas:


207

Eu também tive esse problema depois de atualizar para o Xcode Beta mais recente. As configurações no simulador são atualizadas, portanto o teclado do laptop (externo) estava sendo detectado. Se você simplesmente pressionar:

 Simulador iOS -> Hardware -> Teclado -> Conectar teclado de hardware

então o teclado do software será exibido novamente.


172
Estou vendo isso em um dispositivo físico (iPhone 5) executando o Xcode 6 e iOS GM.
— precisa saber é o seguinte

10
Também estou obtendo isso em um iPhone 6 com o Xcode mais recente da App Store.
— Daniel Wood

11
Os shows teclado, mas o aviso ainda está lá, mesmo com a versão oficial do xcode
— ArdenDev

9
Ainda existe no Xcode 6.1. Estou executando no dispositivo iPhone 5
— DShah 28/11

13
XCode 7.3 iPhone 6 iOS 9.3, ainda lá
— Jasper

33

Vá para iOS Simulator-> Hardware-> Keyboard ->Desmarcar a Connect Hardware Keyboardopção. Isso resolverá o problema.


20
Acontece mesmo quando isso está desmarcado.
— Danyal Aytekin

20

Essa mensagem é exibida quando o tipo de teclado é definido como numberPad ou DecimalPad. Mas o código funciona muito bem. Parece que é um bug com o novo Xcode.


18

Se você está recebendo esse bug com o Xcode Beta, é um bug beta e pode ser ignorado (tanto quanto me disseram). Se você pode criar e executar uma versão do Xcode sem esse erro, o problema não é seu aplicativo.

Não é 100% disso, mas veja se isso resolve o problema:

Simulador iOS -> Hardware -> Teclado -> Alternar teclado de software.

Então, tudo funciona


1
Hey suas soluções não está funcionando, mas eu tentei desmarque a iOS Simulator -> Hardware -> Keyboard -> Connect Hardware Keyboard, agora o teclado é mostrada até pensei que eu não sou capaz de escrever do meu teclado mac eo aviso ainda está presente nos logs
— r4id4

Desculpe, demorei muito para responder. Estou tentando depurar meu próprio aplicativo. O que está acontecendo é que seus campos de texto estão dizendo ao teclado que o texto é de tamanho negativo. Você precisa alterar o tamanho do texto para .xxx ou redimensionar seu campo de texto para maior.
— Erik Bean

Mas eu simplesmente arrastei UITextFielda tela do painel para o meu storyboard, nada mais. É um bug de Xcode-Beta 3?
— R4id4

Tente substituir a caixa de texto por uma nova. Eu tive esse mesmo problema e foi assim que encontrei o seu. Isso foi causado por minha caixa de texto ser menor que o padrão. É possível embora. Verifique os fóruns de desenvolvedores!
— Erik Bean

Eu tenho o mesmo problema .. funciona se você definir o tipo de teclado como padrão. Não é o decimal ou o teclado numérico .. muito estranho #
— 228

14

Corrigi esse problema desmarcando 'Conectar teclado de hardware'. Consulte a imagem abaixo para corrigir esse problemainsira a descrição da imagem aqui


4

Xcode: 6.4 iOS: 8 Também recebi esse erro, mas por um motivo muito diferente.

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

Eu recebi o mesmo erro (exceto o meu era "tipo 4" em vez de "tipo 8"), até descobrir que estava faltando esta linha:

[self.enhancedNumpadToolbar sizeToFit];

Acrescentei e o sol começou a brilhar, os pássaros voltaram a cantar e tudo estava bem com o mundo.

PS Você também receberia esse erro por outras travessuras, como esquecer de alocar / init.


3
Estou tendo esse problema e, mesmo com sizeToFit, recebo o mesmo aviso.
— Nuno Gonçalves

Eu precisaria ver o seu código para ver se tenho algum insight, pois esse erro pode ser causado por várias coisas dando errado. [Sorta gosta de entropia, ou o bom motivo de Tolstoi sobre a vida familiar disfuncional: “Todas as famílias felizes são iguais; cada família infeliz é infeliz à sua maneira. ”] Você pode publicá-la?
— AmitaiB

0

Este erro ocorreu quando o tipo de entrada do teclado é o Number Pad. Eu obtive o mesmo erro que alterei o tipo de entrada do teclado do campo de texto para Padrão, corrigi o problema.


0

Não há "Teclado numérico" para iPads pronto para uso. Quando você especifica um iPad, o teclado normal é exibido com a parte numérica exibida. Você pode alternar para caracteres alfabéticos, etc. Se quiser exibir um teclado apenas de números para o iPad, você deve implementá-lo.

Veja aqui: Teclado numérico no iPad?


-2

Para mim ligar e desligar a configuração

Simulador iOS -> Hardware -> Teclado -> Conectar teclado de hardware

provou corrigir o problema em simuladores.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.