Как заменить себя (UIView) другим UIView? - PullRequest
0 голосов
/ 23 ноября 2011

В представлении A есть кнопка при нажатии, мы переходим к представлению B

  • Представление B не сохраняет указатель для представления A.
  • Из представления B, я быхотел бы загрузить представление A назад (программно)

По сути, я хотел бы убить B и заменить его на A.

Я думал, что следующее должно работать, но это

Не звонит с экрана B

ViewController *main = [ViewController new];    
[self addSubview:[main view]];

Что мне не хватает, пожалуйста?

Ответы [ 2 ]

2 голосов
/ 23 ноября 2011

Лично я думаю, что самый простой способ сделать это - иметь UIViewController с IBOutlet для обоих UIView объектов.Вы можете добавить и спроектировать их обоих в конструкторе интерфейса и просто установить один из них (вид B) как скрытый (это свойство в UIView).Затем вы можете указать действие кнопки для переключения видимости представления B.

Я должен добавить, что существуют конструкции для реализации потоков экрана, такие как NavigationController.В вашем случае, однако, вы также можете рассмотреть использование метода presentModalViewController:animated:.

Все зависит на самом деле, но в целом лучше сделать отдельное UIViewController для каждого UIView в вашем приложении.

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

0 голосов
/ 23 ноября 2011

Звучит так, будто вы ищете навигационный контроллер. Вы можете легко убрать навигационные контроллеры NavBar и убрать анимации, если они вам не нужны, но это позволит добиться именно того, что вы ищете.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...