Можете ли вы поменять NIB-файл на UIViewController, который уже находится на экране?

Например:

Создайте новый UIVC, используя initWithNibName, используя «nib-v1»Покажите это, например. используя [(UINavigationController) nav pushViewController: myVC]Измените NIB, который использует myVC, на «nib-v2»

Насколько я понимаю, это «правильный» подход к разработке приложений для многих приложений, когда вы просматриваете информацию, когда вам нужно два слегка отличающихся экрана пользовательского интерфейса для отображения информации.

Например, большинство ваших страниц являются текстовыми, но на некоторых из них также есть изображение (например, программа для чтения RSS, где некоторые записи RSS имеют текст + изображение, а некоторые - только текст).

Я имел дело с этим ранее, имея один NIB-файл со вторым, невидимым, именованным экземпляром UIView, который я наложил поверх первого и включал / выключал в зависимости от контекста, используя флаг «скрытый».

Но это явно не так и тратит память.

Однако я не вижу очевидного способа «перезагрузить» представление из файла NIB. Я предполагаю, что хочу как-то воспроизвести магию, которую делает initWithNibName?

Я подозреваю, что это возможно, но я уверен, что если вы сделаете это «неправильным образом», то приложение просто ужасно зависнет.

Ответы на вопрос(5)

Ваш ответ на вопрос