[解決済み】モーダルViewControllerのプレゼンテーションスタイルがUIModalPresentationFormSheetの場合、iPadのキーボードが解除されない。
2022-04-11 02:41:13
質問
注意事項
iOS 4.3 での解決策については、受理された回答 (上位に投票されたものではありません) を参照してください。
これは 質問 は、iPadのキーボードで発見された、ナビゲーションコントローラー付きのモーダルダイアログに表示されると解除されないという動作に関するものです。
基本的に、ナビゲーションコントローラーに以下のような行を提示すると。
navigationController.modalPresentationStyle = UIModalPresentationFormSheet;
キーボードが解除を拒否します。この行をコメントアウトすると、キーボードは問題なく消えます。
...
ユーザー名とパスワードの2つのtextFieldがあり、ユーザー名にはNextボタンが、パスワードにはDoneボタンがあります。モーダルナビゲーションコントローラーでこれを表示すると、キーボードが消えません。
ワークス
broken *b = [[broken alloc] initWithNibName:@"broken" bundle:nil];
[self.view addSubview:b.view];
動作しない
broken *b = [[broken alloc] initWithNibName:@"broken" bundle:nil];
UINavigationController *navigationController =
[[UINavigationController alloc]
initWithRootViewController:b];
navigationController.modalPresentationStyle = UIModalPresentationFormSheet;
navigationController.modalTransitionStyle = UIModalTransitionStyleFlipHorizontal;
[self presentModalViewController:navigationController animated:YES];
[navigationController release];
[b release];
ナビゲーションコントローラの部分を削除して、'b' を単独でモーダルビューコントローラとして表示すると、動作します。ナビゲーションコントローラーが問題なのでしょうか?
ワークス
broken *b = [[broken alloc] initWithNibName:@"broken" bundle:nil];
b.modalTransitionStyle = UIModalTransitionStyleFlipHorizontal;
[self presentModalViewController:b animated:YES];
[b release];
ワークス
broken *b = [[broken alloc] initWithNibName:@"broken" bundle:nil];
UINavigationController *navigationController =
[[UINavigationController alloc]
initWithRootViewController:b];
[self presentModalViewController:navigationController animated:YES];
[navigationController release];
[b release];
解決方法は?
モーダル表示されるビューコントローラーに
disablesAutomaticKeyboardDismissal
を返すようにしました。
NO
:
- (BOOL)disablesAutomaticKeyboardDismissal {
return NO;
}
関連
-
[解決済み】Xcode 10.2.1 Command PhaseScriptExecutionが0以外の終了コードで失敗した。
-
[解決済み】印刷します。エントリ, ":CFBundleIdentifier", Does Not Exist
-
[解決済み] 'strcmp' はこのスコープで宣言されていません。
-
[解決済み] Xcodeで "No such module "というエラーが出るが、フレームワークはある
-
[解決済み] MacOSとXcodeをアップデートすると、Xcode 8.1の「No matching provisioning profiles found」が表示される。
-
[解決済み] Xcodeで実行ファイルが無効なエンタイトルメントで署名されてしまう
-
[解決済み] 起動画面にカスタムクラス名が設定されない場合がある
-
[解決済み] HTTPの読み込みに失敗しました(エラーコード:-1200 [3:-9802])。
-
[解決済み] 'CGPointMake' は swift で使用できません [重複] 。
-
[解決済み] Swift 4 データが正しい形式でないため、読み取ることができませんでした。
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】arm64アーキテクチャの未定義シンボルについて
-
[解決済み】iOS用のプライベートメッセージUI(受信、送信、作成)フレームワークはありますか?
-
[解決済み] iPhoneが使用できません。デバイスを再接続してください
-
[解決済み] 基本的なUIButtonをプログラムで作成するには?
-
[解決済み] UTF-8でエンコードされたNSDataをNSStringに変換します。
-
[解決済み] なぜibtoolはexit code 255で失敗したのでしょうか?
-
[解決済み] UIViewController viewDidLoad vs. viewWillAppear。適切な役割分担とは?
-
[解決済み] アプリケーションは、アプリケーション起動の最後にルートビューコントローラーを持つことが期待される
-
[解決済み] なぜSwiftでUIViewControllerのデフォルトのsuper.init()を呼び出すことができないのでしょうか?
-
[解決済み] Xcode 6: iOS 8.1 The Developer Disk Imageをマウントできませんでした。