問題タブ [presentviewcontroller]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ios - iOS: MFMailComposerViewController を表示するとクラッシュする
メールビューに特定の詳細を表示し、呼び出されたときに短いコードしかありません
アプリケーションがクラッシュし、Thread 1: breakpoint 1.1
このクラッシュの原因はわかりません。以下のコードを提供しています。
ありがとう
ios - iOS presentViewController が viewDidLoad を呼び出さない
独自の「戻る」ボタンを実装しています。ここonClick
で、次のコードがViewController
(VC) で実行され、破棄されます。
- 現在の VC を破棄 (VC#1)
- 現在の VC (VC#1) をカスタムからポップ
navigationStack
- から最後の VC(VC#2)を取得し
navigationStack
、
presentViewController
何が起こるかというと、バックワークが視覚的に機能するということです。つまり、現在VC
が消え、前VC
が表示されます。ただし、viewDidLoad
メソッドは呼び出されません。そのため、 からのデータ更新で画面が更新されませんviewDidLoad
。
質問:
viewDidLoad
を使うと必ず呼ばれる印象を受けましたpresentViuewController
??viewDidLoad
VC#2 でのみ呼び出されたメソッドを使用して画面を「ビルド」します。に入ることなくiOSはどのように画面を表示していますviewDidLoad
か?
ところで、私はストーリーボードを使用していません。どんな助けでも大歓迎です!
ios - キーボードがアクティブなときにモーダル ビュー コントローラーを提示する
したがって、基本的には、いくつかのテキスト フィールドで構成されるフォームがあります。ユーザーは通常どおりフィールドに入力します。ただし、ユーザーはテキスト フィールドをダブルタップすることもできます。これにより、モーダル ビュー コントローラーが表示され、ユーザーはそのフィールドに関連する多数のオプションから選択できるようになります。
キーボードが閉じられたときに、モーダルを表示する前にファーストレスポンダーであったフィールドに対してキーボードがまだアクティブであるように、モーダルをキーボードの「上に」表示することはできますか?
現在、モーダルが表示されている間はキーボードが消え、モーダルが消えると再び表示されます。私には不格好に見え、気を散らします。合理化して、画面上のアニメーションの量を減らしたいです。
ios - カスタム表示の UIViewController をフルスクリーンに変更
UIModalPresentationCustom
プレゼンテーション スタイルを使用して表示されたビュー コントローラーがあります。カスタムを使用してUIViewControllerTransitioningDelegate
、View Controller をサイドバーとして表示します (画面の端からスライドし、全画面を占有しないようにします)。
ただし、このビュー コントローラーから別のビュー コントローラーを表示し、全画面表示のビュー コントローラーを閉じるUIModalPresentationFullScreen
と、基になるカスタム表示コントローラーのサイズが突然変更され、全画面を占有します。なぜこれが事実なのか誰にも分かりますか?
編集: これは基本的にanimateTransition
、サイドバーを表示するための私の方法です — 読みやすいようにほとんどのコードを削除しました。基本的に、transitionContext からコンテナーを取得し、宛先ビュー コントローラーのビューをコンテナーに追加してアニメーション化します。
編集 2: もう少し調査を行うと、モーダル スタックでその上にあるビュー コントローラーが閉じられたときに、カスタム表示されたビュー コントローラーのビューのフレームが設定されていることに気付きました。次のスタック トレースでは、フレームが全画面表示に設定されています。
objective-c - UIModalPresentationStyle.FormSheet iPad では常に全画面表示 (SWIFT)
Objective-C のコードを SWIFT に変換しようとしています。
UIViewController をフォーム シートとして読み込んでいます。Objective-C のコードは次のとおりです。
Swift のコードは次のとおりです。
Objective-C では、ビューは FormSheet として表示されます。迅速に、CoverVertical は維持されますが、ビューは FormSheet として表示されるのではなく、画面全体を使用します。
Apple によると、FormSheet は次のとおりです。
表示されるビューの幅と高さが画面の幅と高さよりも小さく、ビューが画面の中央に配置されるビュー表示スタイル。デバイスが横向きでキーボードが表示されている場合、ビューの位置が上向きに調整され、ビューが表示されたままになります。カバーされていない領域はすべて淡色表示され、ユーザーが操作できないようになっています。