iPadのUIModalPresentationFormSheetでキーボードが閉じない
iPadでUIModalPresentationFormSheet(全画面ではなく、中央にフロートしてモーダル画面が表示される)場合に起こる不具合で、画像のような状態でDoneボタンを押してresignFirstResponderを実行してもキーボードが閉じないというものがある。
iPadとソースが共有でも、iPhoneだときちんと閉じる(FormSheetじゃないので)。
不具合なので治ってほしいが、とりあえず対応しないと不便この上ない(ちなみに、ModalViewController自体を遷移させればちゃんと消える)。
対応としては、このViewControllerの.mファイルに以下のコードを足してやる。UINavigationControllerにカテゴリを指定してメソッドを1つ追加する。
メソッド名を見れば分かる通り、自動でキーボードを閉じてよいか、というメソッドなのだが、iPadでやるとこれがYESで帰ってくるというとんでもない状態になってるらしい。
@implementation UINavigationController(KeyboardDismiss) - (BOOL)disablesAutomaticKeyboardDismissal{ return NO; } @end
関連記事
-
iPad用storyboard⇔iPhone用Storyboardへの変換
iPad用アプリとしてiPad用前提のstoryboardから、iPhone対応にするにあたり、si
-
コードでiPhone6 Plusを識別する簡単な方法
表題の通り、コードでiPhone6 Plusを識別する簡単な方法です。 iPhone6 Plu
-
Bitbucketの画面の日本語化/コミット時に同時プッシュを行う
前回の記事の続きで、Bitbucketの画面の日本語化と、Xcodeでコミットするときに同時にpus
-
UICollectionViewが画面回転した時にレイアウトが崩れた時の対応
UICollectionViewCellのサイズを、内容に合わせて動的に変えた時に起こる問題に関して
-
アプリ内で自動スリープの設定を無効化する
「設定」アプリ内で設定したスリープ時間設定を無効にするためのコード。 アプリがバックグラウンドにな
-
iOS8のシミュレーターでLocalizationのテストをする
iOS8.1のシミュレーターでは、従前できていたシミュレーター内での「設定」(Setting)からの
-
GoogleスプレッドシートからCSVにエクスポートしたデータを得る方法
情報がない中さんざ苦労しましたが、Googleスプレッドシート(の最初のシート)をCSVとしてエクス
-
バージョンアップ版があることを通知する
拍子抜けするほど簡単だったので、「アプリのバージョンアップの通知をどうするか」という話についてTip
-
Size ClassとUIViewController.view
タイトルの件でちょっとハマったことがある上に、特に日本語情報もStackOverflowからも情報が
-
メソッドの呼び出し元を調べる
特定のメソッドに関して、そのメソッドをコールしているメソッド群を調べるための手順。 (1)調べたい
- NEXT
- plistファイルに色を入れる