2010-08-03 2 views
0

Контроллер моего представления настроен на загрузку представления из файла Nib. В какой-то момент в viewDidAppear я могу изменить self.view, и вид может исчезнуть, в следующий раз viewDidAppear Я могу решить загрузить оригинальный вид из наконечника, как бы я это сделал?Как заставить UIViewController повторно загружать представление?

+0

Ugh. Не меняйте self.view; вставлять вещи в подзаголовки и скрывать/удалять подзоны по мере необходимости. Если вы расскажете нам об увеличенной картине, мы сможем помочь больше. –

+0

Если вам кажется трудно, вы, вероятно, ошибаетесь. В каких условиях вы хотите, чтобы различные представления были представлены? Если вы используете наконечники, то подходящее время для переключения ниба при вызове initWithNibNamed: bundle: animated: – falconcreek

+0

есть причина, по которой вы не можете загрузить новый контроллер представления и представить модально? представит UIAlertView решение проблемы? (NB: мой предыдущий комментарий начинается с перефразирования строки из книги Cocoa от Hillegass. Не было совершено никакого преступления) – falconcreek

ответ

0

Один из способов сделать это, чтобы просто повторно инициализировать контроллер объекта собственности в viewDidAppear:

[self setMySubViewController:[[[MySubViewController alloc] initWithNibName...] autorelease]]; 

Ваша собственность mySubViewController выпустит предыдущую копию контроллера представления и сохранить новый.

Надеюсь, это поможет.

+0

Хмм .. Я не понимаю, как это будет работать в моем случае. У меня 1 контроллер, нет подсмотров. Я бы назвал self initWithNibName, но я думаю, что это не так. Необходимо восстановить все точки продаж самостоятельно. – Pablo

+0

Вы не можете ссылаться на свой контроллер в контроллере контейнера, а затем делегаты уведомляют контроллер контейнера о повторной инициализации вашего представления дочернего контроллера? – MyCSharpCorner

+0

Нет дочернего контроллера. Существует только 1 контроллер и 2 файла nib. Мне нужно изменить представление в viewDidLoad. Владелец файла этих 2 наконечников является одним и тем же контроллером. – Pablo