转到NavigationViewController中的第二个viewcontroller

时间:2015-02-17 09:34:23

标签: ios

我有UINavigationController指向UITableViewController(项目列表),其中有一个从单元格到另一个UITableViewController的segue(用于编辑项目的屏幕)。

首次运行应用程序时,我想跳过第一个列表,然后立即转到第二个屏幕,编辑新项目。

问题是我需要传递第一个UITableViewController,因为我需要能够返回到那个(或者是否有办法设置后退按钮指向的控制器?)。 / p>

我尝试过的事情都失败了:

  • shouldPresentNewItemUINavigationController设置布尔值viewDidLoad,如果设置为true,则显示第一个UITableViewController,设置布尔值,以便我可以进入编辑屏幕。

  • self.navigationController!.popToViewController(arr[index] as UIViewController, animated: true) s UINavigationController中使用viewDidLoad。由于self.navigationControllernil,因此出现错误。 (我不知道为什么会这样)

如何做到这一点?

2 个答案:

答案 0 :(得分:1)

在导航控制器中设置一些布尔值,表示您将显示编辑屏幕,并且在viewDidLoad中只需按动态编辑视图控制器:

- (void) viewDidLoad {
    [super viewDidLoad];
    if (self.presentEditScreen) {
        self.presentEditScreen = NO;
        EditViewController *e = [[DetailViewController alloc] init];
        [self pushViewController:e animated:NO];
    }
}

答案 1 :(得分:0)

最简单的方法。只需从第二个视图推送到第一个视图

   firstViewController *objFirstViewController = [[firstViewController   alloc]initWithNibName:@"firstViewController" bundle:nil];
   [self.navigationController pushViewController:objFirstViewController animated:No];