【问题标题】:Change button from another view controller once the back button has been pressed按下后退按钮后,从另一个视图控制器更改按钮
【发布时间】:2018-04-30 05:25:15
【问题描述】:

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

【问题讨论】:

    标签: swift swift4 xcode9.2


    【解决方案1】:

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

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

    注意:- fromPrevious 从 nextVC 返回时设为 true

    如果您的问题是离开 secondVC 时如何使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
    }
    

    希望这会有所帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-10-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多