問題タブ [poptoviewcontroller]
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 - popToViewController の後に pushViewController でアプリがクラッシュする
これを検索しようとしましたが、完璧な解決策が見つかりません。appDelegate から、最初のコントローラーを rootViewController として設定し、ViewController (つまり、アニメーション付きの mainViewController) をプッシュしています。次に、2番目のコントローラーをプッシュしようとしています。2 番目のコントローラーから、ボタンのクリックで 3 番目のコントローラーまたは rootViewController に移動できます。また、popToViewController を使用して secondController から戻った後、2 番目の viewController に移動しようとすると、アプリがクラッシュします。
appdelegate で rootViewController を次のように設定しています。
ViewController(mainController) を次のようにプッシュします。
次に、2 番目の viewController を次のようにプッシュします。
2 番目の viewController から次のように取得します。
viewController(mainController) から secondViewController に移動しようとすると、アプリがクラッシュします。
ios - viewWillAppear は IOS 13 の目的 C で呼び出されません
Xcode 8で作成された大規模なアプリがあります(古い学校です)。すべてのコントロールはコードで作成されています。
IOS 13 / Xcode 11.3 に移行してから、VC デリゲートがナビゲーション コントローラーにプッシュされた後、popToRootViewController が呼び出された場合、rootViewController viewWillAppear は呼び出されません。
私は使用しようとしました
VC.modalPresentationStyle=UIModalPresentationFullScreen 動作に変更はありません。
ウィンドウを含む MainWindow.xib があり、navController がサブビューとして設定されています
AppDelegate.m で:
MainViewController で
SelectSomethingViewController で
このコードは、以前の Xcode バージョンと IOS 10 で正常に動作し、viewWillAppear 内のコードが実行されます。これは、アプリの操作に不可欠です。シミュレーターと実際のデバイスの両方で、以前の IOS と Xcode で。
IOS 13 と Xcode 11.3 では、シミュレーターは viewWillAppear を呼び出しませんが、奇妙なことに、IOS 13 を実行し、テスト デバイスとして Xcode 内で起動された実際のデバイスで正しく動作します。私は回避策や提案を受け入れます。