問題タブ [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.

0 投票する
2 に答える
220 参照

ios - iOS: MFMailComposerViewController を表示するとクラッシュする

メールビューに特定の詳細を表示し、呼び出されたときに短いコードしかありません

アプリケーションがクラッシュし、Thread 1: breakpoint 1.1

このクラッシュの原因はわかりません。以下のコードを提供しています。

ありがとう

0 投票する
2 に答える
3217 参照

ios - iOS presentViewController が viewDidLoad を呼び出さない

独自の「戻る」ボタンを実装しています。ここonClickで、次のコードがViewController(VC) で実行され、破棄されます。

  1. 現在の VC を破棄 (VC#1)
  2. 現在の VC (VC#1) をカスタムからポップnavigationStack
  3. から最後の VC(VC#2)を取得しnavigationStack

presentViewController

何が起こるかというと、バックワークが視覚的に機能するということです。つまり、現在VCが消え、前VCが表示されます。ただし、viewDidLoadメソッドは呼び出されません。そのため、 からのデータ更新で画面が更新されませんviewDidLoad

質問:

  1. viewDidLoadを使うと必ず呼ばれる印象を受けましたpresentViuewController??
  2. viewDidLoadVC#2 でのみ呼び出されたメソッドを使用して画面を「ビルド」します。に入ることなくiOSはどのように画面を表示していますviewDidLoadか?

ところで、私はストーリーボードを使用していません。どんな助けでも大歓迎です!

0 投票する
6 に答える
6944 参照

ios - キーボードがアクティブなときにモーダル ビュー コントローラーを提示する

したがって、基本的には、いくつかのテキスト フィールドで構成されるフォームがあります。ユーザーは通常どおりフィールドに入力します。ただし、ユーザーはテキスト フィールドをダブルタップすることもできます。これにより、モーダル ビュー コントローラーが表示され、ユーザーはそのフィールドに関連する多数のオプションから選択できるようになります。

キーボードが閉じられたときに、モーダルを表示する前にファーストレスポンダーであったフィールドに対してキーボードがまだアクティブであるように、モーダルをキーボードの「上に」表示することはできますか?

現在、モーダルが表示されている間はキーボードが消え、モーダルが消えると再び表示されます。私には不格好に見え、気を散らします。合理化して、画面上のアニメーションの量を減らしたいです。

0 投票する
3 に答える
4584 参照

ios - カスタム表示の UIViewController をフルスクリーンに変更

UIModalPresentationCustomプレゼンテーション スタイルを使用して表示されたビュー コントローラーがあります。カスタムを使用してUIViewControllerTransitioningDelegate、View Controller をサイドバーとして表示します (画面の端からスライドし、全画面を占有しないようにします)。

ただし、このビュー コントローラーから別のビュー コントローラーを表示し、全画面表示のビュー コントローラーを閉じるUIModalPresentationFullScreenと、基になるカスタム表示コントローラーのサイズが突然変更され、全画面を占有します。なぜこれが事実なのか誰にも分かりますか?

編集: これは基本的にanimateTransition、サイドバーを表示するための私の方法です — 読みやすいようにほとんどのコードを削除しました。基本的に、transitionContext からコンテナーを取得し、宛先ビュー コントローラーのビューをコンテナーに追加してアニメーション化します。

編集 2: もう少し調査を行うと、モーダル スタックでその上にあるビュー コントローラーが閉じられたときに、カスタム表示されたビュー コントローラーのビューのフレームが設定されていることに気付きました。次のスタック トレースでは、フレームが全画面表示に設定されています。

0 投票する
1 に答える
3075 参照

objective-c - UIModalPresentationStyle.FormSheet iPad では常に全画面表示 (SWIFT)

Objective-C のコードを SWIFT に変換しようとしています。

UIViewController をフォーム シートとして読み込んでいます。Objective-C のコードは次のとおりです。

Swift のコードは次のとおりです。

Objective-C では、ビューは FormSheet として表示されます。迅速に、CoverVertical は維持されますが、ビューは FormSheet として表示されるのではなく、画面全体を使用します。

Apple によると、FormSheet は次のとおりです。

表示されるビューの幅と高さが画面の幅と高さよりも小さく、ビューが画面の中央に配置されるビュー表示スタイル。デバイスが横向きでキーボードが表示されている場合、ビューの位置が上向きに調整され、ビューが表示されたままになります。カバーされていない領域はすべて淡色表示され、ユーザーが操作できないようになっています。