*

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

関連記事

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

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

記事を読む

viewDidLoadとviewDidLayoutSubviewsのタイミング

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

記事を読む

実機テストしたときのデータを取り出す

Xcodeでコンパイルして実機テストしている場合に、テストデータを実機から取り出す方法です。 以下

記事を読む

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

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

記事を読む

UISegmentedControlに見栄え良く背景色を設定する

UISegmentedControlをiOS7で使おうとすると、基本の背景色が「透明」になりますが、

記事を読む

iOS6時代のアプリのiOS7への対応

やや古い情報になるが、iOS7対応に関して自分がやったことの覚え書き。いろんな所から拾って来た情

記事を読む

WSCoachMarksViewをSwiftで使う場合の手順

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

記事を読む

iOS9でのNSFetchedResultsContollerDelegateの挙動

ハマったので短いながらメモしたいと思います。 NSFetchedResultsContollerD

記事を読む

UIAutomation関連覚書

割りと忘れがちなので、自分用備忘録を兼ねて、UIAutomationに関連するtips的なものをまと

記事を読む

UICollectionViewのヘッダとフッタの設定

UICollectionViewで慣れないのがヘッダフッタで、毎度「どうやって設定するんだっけ…」と

記事を読む

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

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

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

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

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

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

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

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

NXDrawKitを導入してみる

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

→もっと見る

    PAGE TOP ↑