performSegueWithIdentifier导致导航加载不正确

时间:2012-07-28 05:08:00

标签: ios5 uinavigationcontroller uistoryboardsegue

我有一个NavigationController层次结构的两个视图,一个显示项目列表,第二个允许您编辑项目或添加新项目。

在父视图上,我在导航栏右侧有一个添加按钮,按下后会执行带有“AddChild”标识的segue。此外,当用户点击表项时,我执行另一个带有“EditChild”标识的segue,所有这些都在故事板中设置。

如果用户到达父视图(带有项目列表)但尚未存在任何项目,我想以编程方式执行“AddChild”segue,因此我在viewWillAppear中添加了以下代码:父视图控制器

// if there are no children, send user to add screen
if (self.childListData.count == 0) {
        [self performSegueWithIdentifier:@"AddChild" sender:self];
}

子视图控件加载正常,但导航项仍然是普通视图(后退按钮和添加按钮,而不是后退按钮和保存按钮)。

这是我的prepareForSegue:方法:

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
    //  Get a reference to our detail view
    ChildDetailTableViewController *childDetail = (ChildDetailTableViewController *)[segue destinationViewController];

    //  Pass the managed object context to the destination view controller
    childDetail.managedObjectContext = managedObjectContext;

    //  If we are editing a child we need to pass some stuff, so check the segue title first

    if ([[segue identifier] isEqualToString:@"EditChild"])
    {
        //  Get the row we selected to view
        NSInteger selectedIndex = [[self.tableView indexPathForSelectedRow] row];

        //  Pass the child object from the table that we want to view
        childDetail.currentChild = [childListData objectAtIndex:selectedIndex];
    }
}

我不确定我错过了什么,所以如果有人可以提供帮助,我会很感激。

0 个答案:

没有答案