我使用以下代码以模态方式呈现视图控制器.我已将演示风格更改为“当前上下文”.它在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)
解决方法
您必须使用iOS 7的当前上下文.
要检查iOS版本,您可以使用NSFoundationVersionNumber.
let iOS7 = floor(NSFoundationVersionNumber) <= floor(NSFoundationVersionNumber_iOS_7_1) let iOS8 = floor(NSFoundationVersionNumber) > floor(NSFoundationVersionNumber_iOS_7_1)
然后,您可以检查正在运行的版本并使用OverCurrentContext或CurrentContext.
if iOS8 { self.modalPresentationStyle = UIModalPresentationStyle.OverCurrentContext } else { self.modalPresentationStyle = UIModalPresentationStyle.CurrentContext }