2015-07-02 23 views
3

我想使用导航控制器显示一个视图控制器清晰的背景色 - swift。推到清晰的背景在第二视图控制器

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

但它不工作。 上面的代码工作时,我提出第二个视图,但不与导航控制器一起工作。

+0

你为什么不在awakeFromNib的nextViewController中设置你的bg颜色? –

+0

此外,如果你想要的模态视图,你应该提出 - 不推动 – Miknash

+1

只有bg清除颜色不工作,由于在iOS-8更新。并请为我推荐任何属性或方法(导航控制器)。我不想用现在。 – Alok

回答

1

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

存在视图控制器的问题:如果您的应用程序在导航控制器上运行,我们无法使用当前视图控制器,因为您无法在呈现任何视图控制器之后使用推送其他视图控制器,因此此解决方案在此方案中无用。

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

相关问题