NSFoundationVersionNumber

NSFoundationVersionNumber

我正在使用以下代码以模态形式呈现 View Controller 。我已将演示文稿样式更改为“在当前上下文中”。它在iOS 8上运行良好,但在os

let vc = self.storyboard.instantiateViewControllerWithIdentifier("markerView") as! MarkerViewController
self.presentViewController(vc, animated: false, completion: nil)

最佳答案

您必须在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
}

10-05 20:21