*

iPadのUIModalPresentationFormSheetでキーボードが閉じない

公開日: : 最終更新日:2014/02/24 Tips , , ,

iPadでUIModalPresentationFormSheet(全画面ではなく、中央にフロートしてモーダル画面が表示される)場合に起こる不具合で、画像のような状態でDoneボタンを押してresignFirstResponderを実行してもキーボードが閉じないというものがある。
iPadとソースが共有でも、iPhoneだときちんと閉じる(FormSheetじゃないので)。

daa149e0e53849b590884306dc062030

不具合なので治ってほしいが、とりあえず対応しないと不便この上ない(ちなみに、ModalViewController自体を遷移させればちゃんと消える)。
対応としては、このViewControllerの.mファイルに以下のコードを足してやる。UINavigationControllerにカテゴリを指定してメソッドを1つ追加する。
メソッド名を見れば分かる通り、自動でキーボードを閉じてよいか、というメソッドなのだが、iPadでやるとこれがYESで帰ってくるというとんでもない状態になってるらしい。

@implementation UINavigationController(KeyboardDismiss)
- (BOOL)disablesAutomaticKeyboardDismissal{
    return NO;
}
@end

参照サイト:
http://d.hatena.ne.jp/io_o/20110518/1305708349

関連記事

UIButtonのタイトル変更時のチラつき抑制

久しぶりにXcode+Objective-Cでアプリを作っていたら、UIButtonのタイトルを動的

記事を読む

ソースコードからStoryboardにアクセスする

複数のStoryboardを利用して、自分以外のStoryboardに遷移させるような展開をしたい場

記事を読む

bitbucketをXcode5で使用する

bitbucketは無償で5人までの少人数チーム用のクローズド(非公開)リポジトリを作成できるため、

記事を読む

”No Scheme”になってしまった場合の対応

知人がXcodeで突然「No Scheme」表示になってRunするターゲットとデバイスが選択できない

記事を読む

iPad用storyboard⇔iPhone用Storyboardへの変換

iPad用アプリとしてiPad用前提のstoryboardから、iPhone対応にするにあたり、si

記事を読む

NSDictionary/NSMutableDictionaryの”valueForKey:”と”objectForKey:”の違い

表題にある通り、似ていて混同する(そして、取り違えても「たいてい」普通に動作する)NSDiction

記事を読む

コードでiPhone6 Plusを識別する簡単な方法

表題の通り、コードでiPhone6 Plusを識別する簡単な方法です。 iPhone6 Plu

記事を読む

WSCoachMarksViewをSwiftで使う場合の手順

Objective-Cで記述されてるライブラリ全般に当てはまることもあるんですが、個別でやることも含

記事を読む

UIActionSheetが消えるときにキーボード表示/非表示通知が来る

 UITextViewやUITextField編集中にアクションシートを表示すると、アクションシート

記事を読む

viewDidLoadとviewDidLayoutSubviewsのタイミング

真実の記事にある「コードでiPhone6を識別する」話とほんのちょっとだけ繋がっている話で、view

記事を読む

Xcode10からのimage literal / color literalの指定方法

アセットにあるUIImageの直接指定が可能なImage litera

Xcode11でのバージョン番号の取得方法

Xcode11になってバージョン番号をスクリプトから得て自動で更新する

GoogleスプレッドシートからCSVにエクスポートしたデータを得る方法

情報がない中さんざ苦労しましたが、Googleスプレッドシート(の最初

画面回転をしたあとに、UITextViewの先頭を表示する

回転によりサイズが可変するUITextViewで、縦向き(ポートレイト

NXDrawKitを導入してみる

ACEDrawingViewがObj-Cで書かれていて、いまいちメンテ

→もっと見る

    PAGE TOP ↑