一旦按下导航栏的后退按钮,我就试图隐藏/禁用其他视图控制器中的按钮,但我无法弄明白。基本上,我有一个视图控制器,用户可以在其中添加最多7天的锻炼(天数显示为按钮)。每当他们按下一天时,他们就被带到另一个视图,在那里他们可以选择他们希望在那一天做的练习。一旦他们保存并按下导航栏上的后退按钮,我想要禁用他们刚刚添加锻炼的那天的按钮,这样他们就不能再按下它了。我将衷心感谢您的帮助!提前致谢!
答案 0 :(得分:0)
您只需在VC中编写以下代码并附上条件
即可override func viewWillAppear(_ animated: Bool) {
let appDelegate = UIApplication.shared.delegate as! AppDelegate
if appDelegate.isFromPreviousScreen == true{
button.isHidden = true
}
}
注意: - fromPrevious
从nextVC返回时使其成立
如果您的问题是如何在离开第二个VC时使fromPrevious
成立:
然后你需要从那里传递一个值,或者作为初学者使这些东西变得容易我建议你在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
}
希望这有帮助。