xCode Master-Detail从主视图控制器更改详细视图控制器

时间:2014-01-30 09:49:32

标签: ios objective-c xcode5

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

然后在我的主视图控制器上,我将表格视图更改为静态,并添加了几个项目:主页,视图1,视图2.

我删除了默认的数据绑定,所以当我现在运行它时,它会按预期显示。

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

现在我想:当我按下“View 1”时,它会将我的Detail View Controller更改为我在故事板上创建的新视图。

但我该怎么做?

我试图推进我的“视图1”但是我首先必须回到我的详细视图,然后才能显示菜单......

我想我必须让我的“View 1”成为根控制器?

1 个答案:

答案 0 :(得分:3)

我建议您使用 segues 。您可以使用Interface Builder在故事板中设置它们。只需记住使用替换 segues而不是 push

enter image description here

代码:

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