У меня возникла очень странная проблема.IOS pushing viewcontroller от navigationcontroller в контроллере tabbar, но не отображается
Вот структура кода в моем приложении делегат:
self.accountViewController = [[AccountViewController alloc] initWithNibName:@"AccountViewController" bundle:nil];
self.homeViewController = [[HomeViewController alloc] initWithNibName:@"HomeViewController" bundle:nil];
self.exploreViewController = [[ExploreViewController alloc] initWithNibName:@"ExploreViewController" bundle:nil];
self.activityViewController = [[ActivityViewController alloc] initWithNibName:@"ActivityViewController" bundle:nil];
self.homeNavigationController = [[UINavigationController alloc] initWithRootViewController:self.homeViewController];
self.accountNavigationController = [[UINavigationController alloc] initWithRootViewController:self.accountViewController];
self.activityNavigationController = [[UINavigationController alloc] initWithRootViewController:self.activityViewController];
self.exploreNavigationController = [[UINavigationController alloc] initWithRootViewController:self.exploreViewController];
self.tabBarController = [[MyOwnTabBarController alloc] init];
[self.tabBarController setDelegate:self];
[self.tabBarController setViewControllers:[NSArray arrayWithObjects:self.homeNavigationController, self.exploreNavigationController,self.activityNavigationController,self.accountNavigationController,nil]];
[self.tabBarController setSelectedIndex:0];
[self.navController setViewControllers:[NSArray arrayWithObjects:self.welcomeViewController, self.tabBarController, nil] animated:NO];
для этого self.navController, я определяю, что как этот
self.navController = [[UINavigationController alloc] initWithRootViewController:self.welcomeViewController];
self.window.rootViewController = self.navController;
поэтому после tabbarcontroller представлен, то я буду на homeviewcontroller, где у меня есть коллекция. он успешно отображает несколько ячеек. Когда я нажимаю на ячейки,
- (void)collectionView:(UICollectionView *)collectionView didSelectItemAtIndexPath:(NSIndexPath *)indexPath
{
[self.navigationController pushViewController:vc animated:YES];
}
я вижу, что панель навигации изменяется с новым названием в «ВХ», и кнопку возврата на панели навигации также отображаются. Однако представление не изменилось, я все еще могу получить доступ к коллекции.
Однако, если я нажал на другую вкладку на панели управления tabbar, например, accountviewcontroller, а затем снова вернусь к старой вкладке для homeviewcontroller, появится представление. это очень странное поведение, о котором я не знаю, почему это происходит.
я также проверил, что в каждом из контроллера зрения, self.navigationcontroller не ноль
Вы должны описать структуру приложения более тщательно. Вы сделали контроллеры в раскадровке? В коде? – rdelmar
Был очень похожий вопрос о неделю назад, на который так и не получили ответа. Вы не получите никакой полезной помощи без подробного описания вашей установки. – rdelmar
ok, обновляется с помощью структуры кода –