使用swift以编程方式在当前上下文中模态显示视图控制器

时间:2015-02-11 10:50:41

标签: ios swift

我正在使用以下代码以模态方式呈现视图控制器。我已将演示风格更改为" Over current Context"。它在iOS 8上工作正常,但在os<屏幕上显示黑屏8.我知道Over Current Context仅在iOS 8中可用。我的问题是如何在iOS 7中实现这一点。

let vc = self.storyboard.instantiateViewControllerWithIdentifier("markerView") as! MarkerViewController

self.presentViewController(vc, animated: false, completion: nil)

1 个答案:

答案 0 :(得分:15)

您必须在iOS 7中使用Current Context

要查看iOS版本,您可以使用NSFoundationVersionNumber

let iOS7 = floor(NSFoundationVersionNumber) <= floor(NSFoundationVersionNumber_iOS_7_1)
let iOS8 = floor(NSFoundationVersionNumber) > floor(NSFoundationVersionNumber_iOS_7_1)

然后,您可以查看正在运行的版本并使用OverCurrentContextCurrentContext

if iOS8 {
  self.modalPresentationStyle = UIModalPresentationStyle.OverCurrentContext
} else {
  self.modalPresentationStyle = UIModalPresentationStyle.CurrentContext
}