
昔書いたコードで、UIAlertView に setAlertViewStyle で UIAlertViewStylePlainTextInput を設定して UITextField を表示して、さらにその後に UIAlertViewを表示すると、なぜか UIAlertView が消えた後にキーボードがせり出してくる問題が発生した。
キーボードが表示されてもTextFieldがあるわけではないのですぐ消えるだけなのだが、その表示されて消えるまでの時間が無駄でイライラしてしまう。
StackOverFlow にて、似た現象を発見した。
Keyboard pops up after UIAlertView is dismissed on iOS 8.3 for iPad – Stack Overflow
解決策としては二つある。
- UIAlertController に移行する
- UIAlertView のままにするが、 performSelector:withObject:afterDelay でAlertViewの表示を遅らせる
どちらでも解決できた。