迅速更改值就撤消bottomViewcontroller

时间:2018-12-16 08:43:44

标签: ios swift

我有一个应用程序,其中在不同的状态下显示bottomSheet视图控制器,即,如果我搜索某个位置,则会得到一个特定的底部表等。当存在负值和清除方法时,将显示此特定的底部表。也就是说,单击resolve Button会将负值变为零,然后返回Main viewcontroller后,负bottom sheet控制器将消失,这是我无法做到的。我在视图bottom sheet中调用了didLoad函数来维护状态,如果尝试在viewDidAppear中调用它,状态将不会被维护,但是负数bottom sheet会消失因为view controller意识到该值不是负数。

我现在的问题是如何使Main viewcontroller意识到该值已返回零,从而使that particular bottom sheet的成员bottom ViewController不会出现。 / p>

尽管如果我将MainViewController留给另一个ViewController,然后回到MainViewController,一切都很好,因为再次调用viewdidLoad

我的代码在下面突出显示

fileprivate func setupBottomSheets() {
   outstandingPay = UIStoryboard.bottomSheet
            .instantiateViewController(withIdentifier: OutStandingPaymentVC.className) as? OutStandingPaymentVC

   _ = outstandingPay.view
   bottomDrawer.outstandingVC = outstandingPay

   infoVc = UIStoryboard.bottomSheet
            .instantiateViewController(withIdentifier: InfoViewController.className)
            as? InfoViewController

   _ = infoVc.view
}

在我的演示者中

func start() {
    if source.getWalletBalance() >= 0 {
         view?.setOutstandingPayView(visible: false, walletBalance: 0)
    } else {
         view?.setOutstandingPayView(visible: true, walletBalance: source.getWalletBalance())
    }
}

func navigationButtonPressed() {
    if source.getWalletBalance() < 0 {
        view?.setOutstandingPayView(visible: true, walletBalance: 0)
    } else {
        view?.setOutstandingPayView(visible: false, walletBalance: source.getWalletBalance())
    }
}

0 个答案:

没有答案