Вам придется адаптировать свой пользовательский интерфейс, чтобы он соответствовал тому, как Apple хочет, чтобы приложение работало, выглядело и чувствовалось - или создавал свои собственные контроллеры представления. Даже тогда вы можете не получить желаемого поведения.
Мой самый горячий совет - взглянуть на похожие приложения в магазине приложений и посмотреть, как они перемещаются.
Мне не приходит в голову картинка из вашего описания, но, кажется, вы хотите то, что называется "развернуть". Лучше всего это сделать с помощью tableViews.
Вы не можете иметь несколько контроллеров навигации на одном «экране»; это не работает так на iPhone. Вместо этого у вас есть один контроллер Navigation, который управляет перемещением представлений. Вы сами решаете, какой суб-вид нажать, в зависимости от того, какой выбор делает пользователь, и контроллер Navigation обрабатывает остальную часть взаимодействия с пользователем, чтобы позволить ему или ей перемещаться между представлениями.
Пример структуры:
Window-based app
+-MainWindow.xib
| +-First view with button
| +-UINavigationController
+-tableview1.xib
+-tableview2.xib
+-any more views you need.
Заставьте приложение делегировать <UINavigationControllerDelegate>
, объявить navCt *UINavigationController
и подключить его в Интерфейсном Разработчике. Затем вы можете написать метод pushVC, который принимает в качестве аргумента UIViewController * vc. Это [navCt pushViewController:vc animated:YES];
Подключите кнопку к IBAction, который затем вызывает метод в делегате приложения, [PushVC myVC]
, где myVC ссылается на любой viewcontroller в вашем приложении, в данном случае табличное представление 1.
В этой таблице при событии didSelectRow...
вы можете использовать тот же метод, чтобы выдвинуть представление таблицы вложенного представления 2.
Я думаю, что это минимальный код, если вы не уверены в дизайне приложения для iPhone. В любом случае, я надеюсь, что это даст некоторые идеи.