显示在当前视图下方,而不是上方

时间:2019-02-22 14:41:17

标签: swift dismiss presentviewcontroller

我正在尝试在另一个显示的视图控制器(例如打开相机并按图库的WhatsApp)下方显示一个视图控制器。

我尝试了很多事情,但是没有任何效果..

2 个答案:

答案 0 :(得分:0)

使用子视图控制器,并在层次结构的顶部设置添加的子视图控制器的视图。这将是最重要的元素,因此该视图的实际背景将被遮盖,但这就是解决方法。

somefile

答案 1 :(得分:0)

您可以通过执行以下操作来重现此行为:

首先,使用根NavigationController创建一个ViewController

let navController = UINavigationController(rootViewController: firstController)

然后,向该NavigationController展示animated: false,并在完成present方法的同时,将第二个ViewController推入animated: false(以避免出现奇怪的动画):

    present(navController, animated: false) {
        navController.pushViewController(secondController, animated: false)
    }

在这里,您有了2 UIViewController的新导航,例如WhatsApp。

完整代码,包装在按钮操作中:

@IBAction func buttonTapped(_ sender: Any) {

    let navController = UINavigationController(rootViewController: firstController)

    present(navController, animated: false) {
        navController.pushViewController(secondController, animated: false)
    }
}