私の@Outlet
クラスでは、UITextField
をCtrlキーを押しながら.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
から設定しようとしましたが、それは同じです。
私はまた私がanyUITextField
をクリックするたびにキーボードが表示されないことに気づいた(しかしログはデフォルトキーボードに対して表示されない)
Xcode-Beta 3を使用しています
私も最新のXcode Betaにアップデートした後にこの問題を抱えていました。シミュレータの設定が更新されるため、ラップトップ(外部)キーボードが検出されていました。単に押すと:
iOSシミュレータ - >ハードウェア - >キーボード - >ハードウェアキーボードの接続
その後、ソフトウェアキーボードがもう一度表示されます。
iOS Simulator-> Hardware-> Keyboard ->
に移動しますConnect Hardware Keyboard
オプションのチェックを外します。これで問題は解決します。
Xcode Betaでこのバグが発生した場合、それはベータ版のバグであり、無視することができます(私の知る限り)。このエラーがなくてもXcodeのリリースビルドでビルドして実行できる場合は、問題があるのはアプリではありません。
これは100%ではありませんが、これで問題が解決するかどうかを確認してください。
iOSシミュレータ - >ハードウェア - >キーボード - >ソフトウェアキーボードの切り替え。
その後、すべてがうまくいく
このメッセージは、キーボードの種類がnumberPadまたはDecimalPadに設定されている場合に表示されます。しかし、コードは問題なく動作します。新しいXcodeのバグのように見えます。
「ハードウェアキーボードを接続する」のチェックを外してこの問題を解決しました。この問題を解決するには、下の画像を参照してください。
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
この行が見つからないことが判明するまで、同じエラーが発生しました(save mineは "type 8"ではなく "type 4"でした)。
[self.enhancedNumpadToolbar sizeToFit];
私はそれを付け加えました、そして、太陽は輝き始めました、鳥はさえずりと鳴り始めました、そして、すべては世界と順調でした。
追伸あなたはまた、alloc/initを忘れることのような他のいたずらのためにそのようなエラーを得るでしょう。
このエラーは、キーボードの入力タイプがテンキーのときに発生していました。Textfieldのキーボード入力タイプをデフォルトに変更したときと同じエラーが表示されます。