代码之家  ›  专栏  ›  技术社区  ›  Adeel Ilyas

如何从显示的视图控制器上的按钮操作推送viewcontroller

  •  0
  • Adeel Ilyas  · 技术社区  · 6 年前

    我一直在寻找答案,请有人指导我,因为我有一个带有tableview的TabBar控制器,现在的情况是,如果用户没有登录并单击任何一行,那么一个颜色清晰的视图控制器会显示一个带有UIButton的小视图。现在,我的TabBar控制器是一个嵌入了导航控制器的rootview控制器,但当我对显示的视图控制器的UIButton执行操作时,单击我无法按下登录视图控制器。

    TabBarController(嵌入导航控制器和根视图控制器)&燃气轮机;当单击此处的登录按钮时,将显示具有全屏的自定义弹出视图控制器&燃气轮机;我想推送登录视图控制器,它可以向后导航到Tabbar控制器。

    有人能给我指点路吗。提前谢谢。

    3 回复  |  直到 6 年前
        1
  •  0
  •   Milan Nosáľ    6 年前

    我认为您首先需要关闭当前的视图控制器(loginViewController),并在完成块中推送新的视图控制器。因此,在登录视图控制器中,尝试以下操作:

    let presentingController = self.presentingViewController
    self.dismiss(animated: true) {
        presentingController?.navigationController?.pushViewController(NewViewController(), animated: true)
    }
    
        2
  •  0
  •   Shehata Gamal    6 年前

    您可以使用委托指示显示视图控制器减小模式并推送所需的视图控制器

        3
  •  -1
  •   Akash Soneji    6 年前

    是否尝试添加动画

    CATransition *transition = [[CATransition alloc] init];
    transition.duration = 0.5;
    transition.type = kCATransitionPush;
    transition.subtype = kCATransitionFromRight;
    [transition setTimingFunction:[CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut]];
    [self.view.window.layer addAnimation:transition forKey:kCATransition];
    [self presentViewController:dashboardWorkout animated:false completion:nil];