使用MGSplitView控制器更改视图

时间:2011-06-03 12:29:44

标签: iphone ipad uitableview uiviewcontroller uisplitviewcontroller

在我正在创建的应用程序中,我有一个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];

通常,此代码足以更改原始多详细信息视图代码中的视图。

有没有人遇到过类似的问题?任何想法?

1 个答案:

答案 0 :(得分:0)

您只是在创建新的视图控制器。你不是在任何地方添加它们。您可以使用其viewControllers属性将视图控制器添加到拆分视图控制器。

编辑:我使用了MGSplitViewController,但我从未试图像这样更改细节视图。我只是将新的细节视图控制器推到了导航控制器上。想要完全更改详细视图控制器的具体原因是什么?

相关问题