-1

一旦按下导航栏的后退按钮,我试图隐藏/禁用另一个视图控制器的按钮,但我无法弄清楚。基本上,我有一个视图控制器,用户可以在其中添加最多 7 天的锻炼(天数显示为按钮)。每当他们按下一天时,他们就会被带到另一个视图,在那里他们可以选择他们希望在这一天做的练习。一旦他们保存并按下导航栏上的后退按钮,我想在他们刚刚添加锻炼的那一天禁用该按钮,这样他们就不能再按下它了。我将衷心感谢您的帮助!提前致谢!

4

1 回答 1

0

您可以简单地在 VC 中编写以下代码,并在后面添加一个条件

override func viewWillAppear(_ animated: Bool) {
let appDelegate = UIApplication.shared.delegate as! AppDelegate
 if appDelegate.isFromPreviousScreen == true{
    button.isHidden = true
   }
}

注意:- fromPrevious从 nextVC 返回时使其为真

如果您的问题是fromPrevious离开 secondVC 时如何实现:

然后你需要从那里传递一个值,或者作为初学者让这些东西变得容易我建议你在其中使用一个全局变量AppDelegate

 class AppDelegate: UIResponder, UIApplicationDelegate {

    var window: UIWindow?

    var isFromPreviousScreen:Bool = false
}

并在 SecondVC 中添加以下代码:

override func viewWillDisappear(_ animated: Bool) {
       let appDelegate = UIApplication.shared.delegate as! AppDelegate
        appDelegate.isFromPreviousScreen = true
}

希望这可以帮助。

于 2018-04-30T05:28:27.480 回答