在 swift 中推送到背景清晰的第二个视图控制器

push to second view controller with clear background in swift

我想使用导航控制器显示一个具有清晰背景颜色的视图控制器 - swift。

let nextViewController = SettingViewController(nibName: "SettingViewController", bundle: nil)
    nextViewController.view.backgroundColor = UIColor.clearColor()
    nextViewController.modalPresentationStyle = UIModalPresentationStyle.OverCurrentContext
    self.navigationController?.pushViewController(nextViewController, animated: true)

但它不起作用。 当我呈现第二个视图但不使用导航控制器时,上面的代码有效。

我尝试了很多方法,但没有得到任何可行的解决方案。导航控制器的实际问题是当前视图动画从左到右开始与 nextViewController 一起移动,并且在 iOS-8 中没有清除视图控制器背景的选项(实际上你可以但是另一个白色对象出现在适当的位置这个的)。所以在这种情况下我们不能使用导航视图。

当前视图控制器的问题:如果您的应用程序在导航控制器上 运行,我们将无法使用当前视图控制器,因为在其上显示任何视图控制器后您无法使用推送其他视图控制器,因此此解决方案不是在这种情况下很有用。

解决方案: 最后,我在带有动画的当前控制器上添加了 nextViewController 视图。但条件是全局引用 nextViewController,否则 nextViewController 按钮操作和其他一些操作将不起作用,应用程序将崩溃。 因此,只需获取 nextViewController 的全局引用,并根据需要在带有动画的 presentViewController 上添加 nextViewController 视图,并在需要删除时删除(现在您可以根据需要放置视图不透明度和颜色)。 这是我想要的完美工作。