为什么在 viewWillAppear 中完成的界面更改不可见?

Why are interface changes done in viewWillAppear not invisible?

我有一个模式 ViewController 作为我的应用程序中的自定义警报。

其中,我在 Interface Builder 中将 UIButton 标题设置为 "default text"。

在我的 viewWillAppear 方法中,我将按钮标题设置为 "new text"。

当我 运行 应用程序和警报 VC 出现时,我可以明显看到 UIButton 从 "default text" 到 "new text" 的过渡。

我认为 viewWillAppear() 中的所有处理都应该是不可见的。有什么想法吗? (我不想在 ViewDidLoad 中进行这些更改。)

您可以做的是创建 viewcontroller(模态)的 class 实例并设置保存标题的变量值并启动该新实例。在 didload 中做作业

class ViewControllerOne : UIViewController{
    if let modalVC = self.storyboard?.instantiateViewController(withIdentifier: "modal") as? MYViewController {
        modalVC.titleLbl.text = "New title"    
        self.present(modalVC, animated: true, completion: nil)
    }

}

class MYViewController : UIViewController{      
    @IBOutlet weak var titleLbl: UILabel!
    ...
}

抱歉我的英文不是很好