1

私は aUISplitViewと amasterViewを持っていdetailViewます。は( masterViewa のUITableViewController内部UINavigationControler) であり、detailViewUIViewController(同様に a の内部UINavaigationController) です。

はと空UISplitViewの で問題なく表示されます。では、次の方法があります。masterViewdetailViewmasterView

 - (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

(の右側) にmyDetailview表示するにはどうすればよい ですか?detailViewsplitView

4

1 に答える 1

4

Matt gemmell'sを使用することをお勧めしますMGSplitViewController

彼は Split View Controller のすべてをカスタマイズしました。これを使用して右側にマスターを取得できます。それUISplitViewControllerが iPhone で正常に動作しているというのは奇妙なことです。

明確にすることUISplitViewControllerは、iPad固有であり、iPhone固有ではありません

そのため、iPad 固有のコントローラーに関する知識を持ってくださいUIPopOverControllerUISplitViewController

ドキュメントでは、これを最初の行で読むことができます

Split view controllers are for use exclusively on iPad devices.

 Attempting to create one on other devices results in an exception. 
于 2012-09-02T10:58:51.670 に答える