以下の内容を実装したいと考えています。
①通知をタップ
②画面Aを呼び出す
③画面Aからボタンをタップされるとホーム画面が表示される
以下のように実装しておりうまく遷移はできましたが問題が生じました。
AppDelegate.swift
Swift
1// windowを生成 2self.window = UIWindow(frame: UIScreen.main.bounds) 3// Storyboardを指定 4let storyboard = UIStoryboard(name: "Main", bundle: nil) 5let screenA_VC = storyboard.instantiateViewController(identifier: "screenAViewController") as! 6ScreenAViewController 7screenA_VC.posturl = postUrl 8self.window?.rootViewController = screenA_VC 9self.window?.makeKeyAndVisible()
③でホーム画面遷移後別画面Bに遷移し、「閉じる」ボタンでdismissした時にホーム画面も閉じられ、通知タップ後に呼び出された画面Aが表示されてしまいます。
self.dismiss(animated: true, completion: nil)
画面Bの「閉じる」ボタンでdismissするとホーム画面を表示させたいと考えています。
AppDelegate.swiftにてrootViewControllerに画面Aを入れてしまっているためかと考えています。
そこで、AppDelegate.swiftではホーム画面のViewControllerをrootViewControllerにセットするよう修正しました。
そしてホーム画面のViewControllerにて「画面Aに遷移するかどうか」のフラグをBoolでもち、AppDelegateでTrueとセットしました。
そしてホーム画面のViewControllerのviewDidLoadに以下のコードを入れてみましたが遷移されませんでした。
if gotoSimpleVC { performSegue(withIdentifier: "fromTopToSimple", sender: nil) }
viewwillAppearに入れても同じでした。
色々と誤った実装をしている可能性が高いのですが、何か方法はないでしょうか・・・
ご指摘いただけると幸いです。
回答1件
あなたの回答
tips
プレビュー