您可以将 tabBarController 添加到 SplitViewController 的详细视图。只需创建一个UIViewController
响应<UITabBarControllerDelegate>
并在该控制器的 xib 文件中添加一个UITabBarController
对象并将其链接到您的 UIViewController。在您viewDidLoad
将选项卡栏控制器添加到视图中:
-(void)viewDidLoad {
...
[self addChildViewController:myTabBarController];
//add the tabBarController view
[self.view addSubview:myTabBarController.view];
}
这UIViewController
将分配给您的详细视图。这行得通,我以前试过。但是,苹果是否会允许呢?我不知道!
编辑:
首先你们不应该给viewDidLoad
自己打电话。
另外,我认为您不需要rootipad
,detailipad
只要控制器链接到 xib 文件中的 SplitViewController 即可。
在您的RootViewiPad
(主)中添加以下内容viewDidLoad
:
-(void)viewDidLoad {
...
if (self.interfaceOrientation == UIInterfaceOrientationPortrait || self.interfaceOrientation == UIInterfaceOrientationPortraitUpsideDown) {
//select the first row to load
[self.tableView selectRowAtIndexPath:[NSIndexPath indexPathForRow:0 inSection:0] animated:NO scrollPosition:UITableViewScrollPositionNone];
//NOTE, I'm assuming that selecting the cell will load the detail view.
//if that is not the case, you need to do what ever you need to load the
//detail view.
}
}
如果您希望每次都发生这种行为(不仅是在第一次加载时),那么请将代码添加到-(void)viewWillAppear
方法中。