Я прочитал несколько интернет-сообщений, которые почти отвечают на мой вопрос, но я не могу собрать эти штуки. У меня есть приложение с двумя вкладками iPhone, с двумя связанными контроллерами представлений, h, m, xibs и др. В tabview1 есть кнопка, по которой я хочу программно перейти на tabview2. Я прочитал дискуссии о настройке контроллера корневого представления для управления этим, но на примерах просто не было достаточно подробностей для меня, чтобы понять это, и, похоже, я предлагаю перейти на навигационное приложение, которое я действительно не хочу этого делать. У кого-нибудь есть терпение, чтобы объяснить это мне?Как переключиться на iOS iPhone tabview2 с помощью кнопки на tabview1
-1
A
ответ
0
Ну, как я справился с этим, нужно было обработать его AppDelegate (которому принадлежит tabController). Таким образом, в вызывающем, я использовал:
[(AppDelegate_Shared *)[[UIApplication sharedApplication] delegate] popToMainView];
, а затем в AppDelegate:
-(void) popToMainView {
UITabBarController * myTabBar = self.tabBarController;
myTabBar.selectedIndex = 0; //jump to first view.
[[myTabBar.viewControllers objectAtIndex:0] popToRootViewControllerAnimated:NO];
// this last line necessary iff you know firstView has a navcontroller and you want to be at the root
}
ОГО много Макворта. Ваш selectedIndex заставил меня думать, что может быть еще проще. В логике кнопок tabview1 я просто сделал это один и вуаля, он изменил представления так, как я хотел. Нет делегата, нет специальной функции. –
Вы правы, хотя это означает, что tabView1 знает подробности о своем родителе (что это tabcontroller, индекс которого является основным и т. Д.), Что на самом деле не очень хорошая структура. О, и если бы это помогло, не стесняйтесь отметить ответ! – mackworth