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.