Сблъсквам се с много странен проблем.
Ето структурата на кода в моето приложение:
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, където имам collectionview. той успешно показва множество клетки. Когато щракна върху клетката,
- (void)collectionView:(UICollectionView *)collectionView didSelectItemAtIndexPath:(NSIndexPath *)indexPath
{
[self.navigationController pushViewController:vc animated:YES];
}
Виждам, че лентата за навигация е променена с новото заглавие във „vc“ и бутонът за връщане назад на лентата за навигация също се показва. Изгледът обаче не е променен, все още имам достъп до изгледа на колекцията.
ако обаче натисна друг раздел на контролера на лентата с раздели, като например accountviewcontroller, и след това натисна отново към стария раздел за homeviewcontroller, изгледът вече ще се покаже. това е много странно поведение, което нямам представа защо се случва.
Проверих също така, че във всеки контролер за изглед self.navigationcontroller не е нула