我正在将我的 iPhone 应用程序移植到 iPad。在 iPhone 上,我选择表格中的行,然后将下一个视图控制器推到 navigationController 的顶部(现在导航在拆分视图控制器的左侧执行)。对于 iPad,我以这种方式修改了代码:
if (deviceIsIPad())
{
UISplitViewController *svc = (UISplitViewController *)[self findNearestParentOfClass:[UISplitViewController class]];
svc.viewControllers = [NSArray arrayWithObjects:[svc.viewControllers objectAtIndex:0],
nextViewController,
nil];
}
else
[self.navigationController pushViewController:nextViewController animated:YES];
iPhone 代码没有问题(当控制器被推送到导航控制器时),但在 iPad 上 viewWillAppear: 未被调用(然而 viewDidLoad 被调用),而我有理由在 viewWillAppear: 中执行一些自定义。为什么它不被调用,我应该怎么做才能强制它被调用?
非常感谢提前!