Почему изменения интерфейса, сделанные в viewWillAppear, невидимы?

У меня есть модальный ViewController, действующий как пользовательское предупреждение в моем приложении.

В нем у меня есть заголовок UIButton, установленный на некоторый "текст по умолчанию" в Интерфейсном Разработчике.

В моем viewWillAppear Метод, я устанавливаю заголовок кнопки на "новый текст".

Когда я запускаю приложение и появляется предупреждение VC, я могу видеть переход UIButton из "текста по умолчанию" в "новый текст".

Я думал, что вся обработка в viewWillAppear() должна была быть невидимой. Какие-нибудь мысли? (Я не хочу вносить эти изменения в ViewDidLoad.)

1 ответ

Решение

Что вы можете сделать, это создать экземпляр класса viewcontroller (Modal) и установить значение переменной, которая сохраняет заголовок, и запустить этот новый экземпляр. и в 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!
    ...
}

Извините мой английский не очень хороший

Другие вопросы по тегам