UIStoryboard popViewController - PullRequest
       26

UIStoryboard popViewController

2 голосов
/ 17 января 2012

Я использую UISegue в своем приложении для автоматического перехода между viewcontrollers в моем приложении. Я назову их А и Б.

Это сработало, как и ожидалось, однако, когда я захотел вернуться к A из B, я попытался позвонить [self.navigationController popViewController] однако свойство navigationController в B сообщает об отсутствии значения.


В качестве второй попытки я попытался сопоставить кнопку с UISegue назад, чтобы просмотреть контроллер A.
Однако это просто создает новый ViewController.

В качестве обходного пути я закончил тем, что решил обойти B viewcontroller с UIStoryboard и вызвать [A.navigationController pushViewController:B]

В этот момент вызов [B.navigationController popViewController] сработал, как и ожидалось.

Кажется, это неправильно, с точки зрения раскадровки, как я могу вернуться к предыдущему контроллеру представления?

1 Ответ

2 голосов
/ 18 января 2012

Я не знаю о классе ваших контроллеров A и B (будь то UIViewController, UITableViewController или UINavigationController), но если вы следуете следующему шаблону, он должен работать.

  • В пустой раскадровке вставьте UINavigationController.Это приведет к появлению в раскадровке двух окон, связанных стрелкой (переход).Справа должен быть контроллер A.

  • В A, скажем, вы добавляете кнопку.Кнопка будет толкать B в стек навигации.

  • Затем вы добавляете второй контроллер B и перетаскиваете от кнопки в контроллере A к контроллеру B и выбираете «push» извсплывающее меню.

Если вы используете только UIViewController (A) и нажимаете кнопку B, не существует навигационного контроллера, который бы позаботился о выталкивании.

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

...