参考:从iOS 6迁移到iOS 7后,我们的应用程序无法按预期使用splitviewcontroller和navigationcontroller。
Sub:我已经分步写的App流程。
从PopOverController中选择一行MasterViewController时,我们将请求传递给DetailViewController “didSelectRowAtIndexPath”具有委托“[委托SelectedViewController:self selectedrow:[rootTableContentArray objectAtIndex:indexPath.row]];”
在DetailViewController中,我们实现了delgate方法。
- (void)SelectedViewController :( MasterViewController *)masterview selectedrow:(NSString *)selectedRow
{
if([selectedRow isEqualToString:@“Labor”])
{
appdel.splitViewController.delegate=(id)laborViewController;
[[appdel.splitViewController.viewControllers objectAtIndex:1] setViewControllers:[NSArray arrayWithObject:laborViewController] animated:YES];
----
----
}
}
注意: 1.在iOS 6中执行时
[[appdel.splitViewController.viewControllers objectAtIndex:1] setViewControllers:[NSArray arrayWithObject:laborViewController] animated:YES];
在viewdidload
之前viewwillappear
和LaborViewController
,在删除委托方法的剩余代码之前。
-(void)SelectedViewController:(MasterViewController*)masterview selectedrow:(NSString*)selectedRow
的总代码并返回MasterViewController
,然后为LaborViewController
调用“viewdidload”和“viewwillappear”。 这是我现在面临的iOS 7中的问题。
<{1}}在执行时未触发[[appdel.splitViewController.viewControllers objectAtIndex:1] setViewControllers:[NSArray arrayWithObject:laborViewController] animated:YES];
或viewwilldisappear
。