2012-08-28 13 views
1

我有一個UISplitViewmasterViewdetailViewmasterViewUITableViewController(在UINavigationControler之內)並且detailViewUIViewController(也在UINavaigationController之內)。如何在splitViewController中使detailview和masterView通信?

UISplitView看起來很好,masterView和一個空的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中,但都是正確的,但detailview保持空白。

如何讓myDetailview出現在detailViewsplitView的右側)?

回答

4

,我建議你使用拆分視圖控制器馬特gemmell的MGSplitViewController

他定製的一切,你可以利用這一點,它只是奇怪獲得在右側的主,你說UISplitViewController在iPhone工作正常

要明確UISplitViewController是具體爲iPad而不是用於iPhone

所以,請有iPad的具體控制器像UIPopOverControllerUISplitViewController

知識

在Doc的,你可以在第一行就自我

Split view controllers are for use exclusively on iPad devices. 

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

非常感謝您閱讀。我將研究MGSplitViewController。我認爲當我說它在iPhone上運行良好時我不清楚。我修改了iPhone的代碼(!if [self splitViewController])。這意味着iPhone會忽略UISplitview控制器並在主視圖頂部顯示detailview。 –

相關問題