Возможно, вы неправильно понимаете идиому навигационного контроллера Apple.Он предназначен для детализации иерархической структуры представлений и перемещения назад и вперед легко и интуитивно.
Представление, находящееся за пределами этой иерархии (кажется, ваше Представление настроек относится к этой категории) действительно должно быть представлено модально.На iPad вы можете даже использовать симпатичные и удобные UIPopOverController
s.
. Конечно, если вы хотите сохранить свой собственный внешний вид (создавая опасность для запутывания ваших пользователей), вы можете возиться санимация перехода.Вы можете использовать собственное и, таким образом, предварительно одобренное свойство UIModalTransitionStyle
UIViewController
s.
Или вы можете попробовать то, что делали до сих пор, и поиграться с иерархией представлений.Возможно, вы можете устранить свои ошибки, просто используя последовательные контроллеры представления и не перепрыгивая между ними.В этом случае должно быть достаточно использовать
[self.navigationController pushViewController:controller animated:YES];
и
[self.navigationController popViewControllerAnimated:YES];
, а не более подверженные ошибкам версии pushToViewController
и popToViewController
.