如何判断UIViewController是使用pop,dismiss返回到上级视图控制器

来源:互联网 发布:mysql employees 导入 编辑:程序博客网 时间:2024/06/07 23:42

当我们自定义继承UIViewController视图控制器的基类视图控制器时,会新增返回到上级的视图控制器方法,于是就要区分,返回时使用 pop 的方法,还是使用dismiss 的方法了。

方法1

- (void)backPreviousController{    if (self.presentingViewController)     {        [self dismissViewControllerAnimated:YES completion:nil];    }     else     {        [self.navigationController popViewControllerAnimated:YES];    }}

方法2

- (void)backPreviousController{    if (self.navigationController.topViewController == self)    {        [self.navigationController popViewControllerAnimated:YES];    }     else     {        [self dismissViewControllerAnimated:YES completion:nil];    }}

方法3

- (void)backPreviousController{    if ([self.navigationController.viewControllers.firstObject isEqual:self])    {        [self dismissViewControllerAnimated:YES completion:nil];    }    else    {        [self.navigationController popViewControllerAnimated:YES];    }}

- (void)backPreviousController{    if ([self.navigationController.viewControllers indexOfObject:self] == 0)    {        [self dismissViewControllerAnimated:YES completion:nil];    }    else    {        [self.navigationController popViewControllerAnimated:YES];    }}


0 0