簡體   English   中英

更改視圖控制器時,會出現新的控制器,但幾乎立即消失

[英]When changing view controllers, new controller appears, but disappears almost immediately

我在我的IBAction之一(按下按鈕時)中有此代碼,應該可以調出一個新的視圖控制器。

let addAlertVC = self.storyboard?.instantiateViewController(withIdentifier: "addAlert")

self.present(addAlertVC!, animated: false, completion: nil)

但是,當我運行該應用程序並按一下應該帶我到新的viewcontroller的按鈕時,然后我被原來的viewcontroller困住了。 我已經在新視圖控制器的viewDidAppear函數中添加了一條打印語句,並且每當我按下按鈕時它就會打印出來,因此肯定會出現新的控制器。 我尚未在應用程序中的任何地方解雇新控制器。

我在應用程序的其他部分中使用了相同的代碼,因此對於為什么這次無法正常工作感到非常困惑。

任何幫助將不勝感激。

編輯:我修復了我的代碼。 事實證明,並不是我在錯誤地調用視圖控制器,而是我的按鈕。 刪除並重新添加按鈕后,我的代碼即可正常工作。

呈現視圖控制器后,很有可能將其釋放。

嘗試在該函數之外的控制器中聲明您的視圖控制器。 就像是:

class ViewController{

    var addAlertVC:UIViewController?

    ...

    func someFunction(){
        addAlertVC = self.storyboard?.instantiateViewController(withIdentifier: "addAlert")

        self.present(addAlertVC!, animated: false, completion: nil)
    }

}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM