我在IOS7中遇到奇怪的问题当我尝试使用IOS6在xcode5中运行我的旧应用程序时,每件事情都运行良好,但是当我尝试推送Nextview时它与IOS7崩溃。这是我的应用程序崩溃的代码。
FamilyBioViewController *detailView=[[FamilyBioViewController alloc] initWithNibName:@"FamilyBioView" bundle:[NSBundle mainBundle]];
[self.navigationController pushViewController:detailView animated:YES];
[detailView release];
发生崩溃时,它没有在控制台中显示任何错误。下面的屏幕截图显示了崩溃结果 有趣的是,当我用 presentViewController 而不是 pushViewController 然后它在IOS 7中正常工作。
FamilyBioViewController *detailView=[[FamilyBioViewController alloc] initWithNibName:@"FamilyBioView" bundle:[NSBundle mainBundle]];
[self presentViewController:detailView animated:YES completion:nil];
[detailView release];
所以问题是为什么pushViewController在IOS7中引起问题?任何帮助将不胜感激。谢谢。
编辑: 有关详细信息,请参阅我的应用流程,这是我的AppDelegate代码
- (void)tabBarController:(UITabBarController *)tabBarController didSelectViewController:(UIViewController *)viewController
{
if(tabBarController.selectedIndex==1 || tabBarController.selectedIndex==3)
{
[(UINavigationController *)[tabBarController selectedViewController] popToRootViewControllerAnimated:NO];
}
}
- (BOOL)tabBarController:(UITabBarController *)tabBarController shouldSelectViewController:(UIViewController *)viewController
{
return YES;
}
答案 0 :(得分:0)
FamilyBioViewController *detailView = [[[FamilyBioViewController alloc] initWithNibName:@"FamilyBioView" bundle:[NSBundle mainBundle]] autorelease];
[self.navigationController pushViewController:detailView animated:YES];
----编辑---- 我上面的例子不是解决方案!
不要忘记为navigationController声明你的第一个viewController
在iOS6中,这不是一个大问题。在iOS7中它是!
看看
[[UINavigationController alloc] initWithRootViewController: (UIViewController *)controller]
只有拥有根才能推送!
答案 1 :(得分:0)
视图控制器阵列中的视图控制器必须是唯一的