如何使detailView和masterView在splitViewController中进行通信?

时间:2012-08-28 17:34:10

标签: iphone cocoa-touch ipad uisplitviewcontroller

我有UISplitView masterViewdetailViewmasterViewUITableViewController(在UINavigationControler内),detailViewUIViewController(也在UINavaigationController内)。

UISplitViewmasterView和空detailView一样正常。在masterView中,我有这种方法:

 - (void)tableView:(UITableView *)aTableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
    {
       if (![self splitViewController])
       DetailViewController*myDetailView = [[DetailViewController alloc] init];
       Item *selectedItem = [items objectAtIndex:[indexPath row]];
       [myDetailView setItem:selectedItem];
       [[self navigationController] pushViewController:myDetailView animated:YES];
    }

这适用于iPhone。 对于iPad,detailView中出现masterViewController,尽管如此,但详细视图仍为空。

如何在myDetailviewdetailView的右侧)中显示splitView

1 个答案:

答案 0 :(得分:4)

我建议您使用Matt gemmell的MGSplitViewController

他已经在拆分视图控制器中定制了所有内容,你可以使用这个来获得右侧的主人,而且你说UISplitViewController在iPhone中正常工作它很奇怪

要明确UISplitViewController特定于iPad而不是iPhone

因此,请了解iPad特定控制器,例如UIPopOverControllerUISplitViewController

在Doc's中,你可以在第一行看到这个

Split view controllers are for use exclusively on iPad devices.

 Attempting to create one on other devices results in an exception.