2015-02-11 3 views
4

Я использую следующий код для представления контроллера вида по модулю. Я изменил стиль презентации на «Over current Context». Он отлично работает на 8 прошивке, но экран становится черным по зева . Я знаю За текущим контекст доступен только в прошивке 8. Моего вопрос, как я могу добиться этого в прошивке 7.Текущий контроллер представления по сравнению с текущим контекстом программно с использованием swift

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

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

ответ

9

Вы должны использовать Current Context для 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 
} 
+1

Не работает для меня. На экране iOS 7 черный цвет. –

+2

В iOS7 вы должны установить стиль презентации на презентаторе. Кроме того, эти проверки iOS кажутся сомнительными вообще, обновление, сказанное в 7.2, сломает оба случая. – EricLeaf

+0

отличный совет, спасибо – Fattie

Смежные вопросы