如何在返回时记住ViewController的最后一个活动?

问题描述 投票:-1回答:1

我将尝试对此非常详细,我希望你们中的一个人可以帮助我。

我有一个Home VC,其中2个列表堆叠在一起,列表#1总是显示在顶部。但是,如果我单击列表#2并导航到该列表中的任何部分,当我返回到Home VC时,列表#1显示而不是最后一个被点击的列表(列表#2)。

我可以做什么,以便HomeVC显示列表#1或列表#2,具体取决于我最后点击哪一个?

ios swift uiviewcontroller viewdidload viewdidappear
1个回答
0
投票

在两个列表的点击操作中,您可以执行类似这样的操作,当您点击第一个列表时将其设置为true,并在点击第二个列表时将其设置为false

UserDefaults.standard.set(true, forKey: "List1") //Put this when you tap the first list
UserDefaults.standard.set(false, forKey: "List1") //Put this when you tap the second list

然后在你的willAppear方法上你可以做这样的事情

override func viewWillAppear(_ animated: Bool) {
    super.viewWillAppear(animated)
    if(UserDefaults.standard.bool(forKey: "List1")) {
       //You tapped List1
    } else {
       //You tapped List2
    }
}

希望这可以帮助

© www.soinside.com 2019 - 2024. All rights reserved.