我刚刚在Xcode 5中创建了一个新的“Master-Detail应用程序”项目。

然后在我的Master View Controller上,将表视图更改为静态,并添加了一些项目:Home,View 1,View 2。

我已经删除了默认数据绑定,因此现在运行它时,它按预期显示。

默认情况下,我的“主页”视图是我的详细信息视图控制器。

现在,我想:当我按“视图1”时,它将“细节视图控制器”更改为在情节提要上创建的新视图。

但是我该怎么做呢?

我尝试插入“视图1”,但是随后我必须先返回到“详细视图”,然后才能显示菜单...

我想我必须将“View 1”作为根控制器?

最佳答案

我建议您使用 segues 。您可以使用Interface Builder在情节提要中设置它们。只需记住使用replace segues而不是push:

和代码:

-(void) tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
    switch (indexPath.row) {
        case 0:
            [self performSegueWithIdentifier:@"mainSegue" sender:self];
            break;

        case 1:
            [self performSegueWithIdentifier:@"sheduleSegue" sender:self];
            break;

        case 2:
            [self performSegueWithIdentifier:@"mapSegue" sender:self];
            break;
    }
}

除此之外,您还可以为每个segue做一些附加设置:
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
    if ([segue.identifier isEqualToString:@"mainSegue"]) {
        TestViewController *dest = segue.destinationViewController;
        dest.someNumber = 100500;
    }
}

关于ios - xCode主从细节从主ViewController更改细节ViewController,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/21452923/

10-09 16:31