在我正在创建的应用程序中,我有一个UISplitView控制器的自定义副本,MGSplitViewController。我已经将它实现到我的项目中,该项目从Apple的MultipleDetailViews示例代码开始。
我遇到了一个问题,我似乎无法在viewcontrollers之间切换。当我推动tableview单元格时,detailview控制器应根据指定的笔尖进行更改,但这不会发生。
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
/*
Create and configure a new detail view controller appropriate for the selection.
*/
NSUInteger row = indexPath.row;
UIViewController *detailViewController = nil;
if (row == 0) {
FirstDetailViewController *newDetailViewController = [[FirstDetailViewController alloc] initWithNibName:@"FirstDetailView" bundle:nil];
detailViewController = newDetailViewController;
}
if (row == 1) {
SecondDetailViewController *newDetailViewController = [[SecondDetailViewController alloc] initWithNibName:@"SecondDetailView" bundle:nil];
detailViewController = newDetailViewController;
}
// Update the split view controller's view controllers array.
NSArray *viewControllers = [[NSArray alloc] initWithObjects:self.navigationController, detailViewController, nil];
splitViewController.viewControllers = viewControllers;
[viewControllers release];
[detailViewController release];
通常,此代码足以更改原始多详细信息视图代码中的视图。
有没有人遇到过类似的问题?任何想法?
答案 0 :(得分:0)
您只是在创建新的视图控制器。你不是在任何地方添加它们。您可以使用其viewControllers
属性将视图控制器添加到拆分视图控制器。
编辑:我使用了MGSplitViewController
,但我从未试图像这样更改细节视图。我只是将新的细节视图控制器推到了导航控制器上。想要完全更改详细视图控制器的具体原因是什么?