忍者ブログ

佐崎司と愉快な仲間達

ゲーム、アニメ、CG、iOS開発など思いついたことを記事にしています。 管理人が3人いますので、記事にまとまりはないと思います。 iPhoneアプリのレビュー依頼も受け付けています。

UITextFieldのbecomeFirstResponderにて稀にキーボードが表示されない問題対応

わか

iOS8.3にてUITextFieldにbecomeFirstResponderを使用すると通常であればソフトウェアキーボードが表示されます。しかし、for文で順繰りにテキスト入力を促す場合に稀にキーボードが表示されない現象が発生しました。
発生条件を調査してみると、テキスト入力を表示している画面の閉じる際のアニメーションが終わる前に、次のテキスト入力を表示する画面の表示アニメーションがかぶっていると発生するようでした。
なので、テキスト入力画面を閉じる後に、すぐに次のテキスト入力画面を表示するのではなく、 [[NSRunLoop currentRunLoop] runUntilDate:[NSDate dateWithTimeIntervalSinceNow:0.3]];
を使用して画面が閉じるアニメーションが終わるのを待つことで、常にキーボードが表示されるようになりました。
場合によっては、iOSにて画面のアニメーション完了を待つことは必要なようです。

拍手[0回]

PR