我有一个奇怪的问题。
我有2个XIB和1个ViewController。 One XIB适用于iPhone,另一款适用于iPad。 在XIB for iPad中,只有更大的图像。
- (void)pressShare:(UIBarButtonItem *)sender
{
NSString *nibName = @"";
if([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPhone) {
nibName = @"MCComunicationViewController";
}
if ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPad) {
nibName = @"MCComunicationViewControlleriPad";
}
MCComunicationViewController *comVC = [[MCComunicationViewController alloc] initWithNibName:nibName bundle:nil];
UINavigationController *navController = [[UINavigationController alloc] initWithRootViewController:comVC];
navController.navigationBar.tintColor = [MCColorFactory emerald];
navController.navigationBar.barTintColor = [UIColor whiteColor];
[self.navigationController presentViewController:navController animated:YES completion:nil];
}
在配备iOS 7.1的iPhone 5上,它在iPad上与iOS 7.1完美配合,它会崩溃。
iPad运行的调试器说
po navController
<UINavigationController: 0x16578470>
po navController.viewControllers
<__NSArrayI 0x16590390>(
<MCComunicationViewController: 0x165780d0>
)
po comVC
<MCComunicationViewController: 0x165780d0>
它在main.m中与SIGABRT崩溃,当我逐步调试时它被[self.navigationController presentViewController:navController animated:YES completion:nil];
崩溃:/任何想法?
答案 0 :(得分:0)
使用两个xib,用户Container类。 如果您使用容器,则可以轻松管理数据。
答案 1 :(得分:0)
尝试....
[self.navigationController pushViewController:navController animated:YES];