

お世話になっております。

画面Aと画面Bがあり、画面Aの上に画面Bを配置しており、  
画面BをPOPするときに、画面AのviewWillAppear()メソッドで  
処理をしたいのですが、画面AのviewWillAppear()メソッドが  
呼び出されず困っております。

ネットで調べた所、  
「iOS13から仕様変更で、  
viewWillAppear()メソッドが呼び出されないようになった。」  
とのことがわかりました。

ただ、画面AのviewWillAppear()メソッドがコールされるタイミングで  
行いたい処理があるのですが、皆さんどう実現されているのでしょうか。

ソースコードは、以下になります。

[code]

    override func viewWillAppear(_ animated: Bool) {
        presentingViewController?.beginAppearanceTransition(false, animated: animated)
        super.viewWillAppear(animated)
    
        print("viewWillAppear was called.")
    }
    
    override func viewDidAppear(_ animated: Bool) {
        super.viewDidAppear(animated)
        presentingViewController?.endAppearanceTransition()
        
        initializeDisplay()
        
        print("viewDidAppear was called.")
    }
    
[/code]

宜しくお願いいたします。


CC BY-SA 4.0
2020-10-17T04:27:52.643
71271
2020-10-17T09:40:24.970
2020-10-17T04:33:36.747
2238
23788
question
swift ios uikit
SwiftでviewWillAppearメソッドが呼び出されません。


上記の質問ですが、自己解決いたしました。

下記ページの対応にて解決いたしました。  
<https://tn-works.jp/ios13-pagesheet/>

ありがとうございます。


CC BY-SA 4.0
2020-10-17T09:40:24.970
71276
2020-10-17T09:40:24.970
23788
71271
answer