2015-06-15 5 views
1

Как я могу убедиться, что разрешены только ориентации - портрет или перевернутый портрет?Ориентация экрана?

Я внес изменения в настройки проекта, но у меня возникли проблемы с внесением изменений в мой GameViewController.

мне нужно внести изменения в этой функции:

override func supportedInterfaceOrientations() -> UIInterfaceOrientationMask { 
    if UIDevice.currentDevice().userInterfaceIdiom == .Phone { 
     return .AllButUpsideDown 
    } else { 
     return .All 
    } 
} 

Однако структура «UIInterfaceOrientationMask» не имеет опцию, которая позволяет только портрет и вверх вниз портрет.

ответ

1

Вы должны разрешить все ориентации в настройках проекта, то только ориентации Разрешены Портрет или Перевернутый портрет в вашем ViewController кроме GameViewController:

// BaseViewController 
override func supportedInterfaceOrientations() -> UIInterfaceOrientationMask { 
    if UIDevice.currentDevice().userInterfaceIdiom == .Phone { 
     return UIInterfaceOrientationMask.Portrait.rawValue | UIInterfaceOrientationMask.PortraitUpsideDown.rawValue 
    } else { 
     return .All 
    } 
} 

Наконец в GameViewController:

override func supportedInterfaceOrientations() -> UIInterfaceOrientationMask { 
    if UIDevice.currentDevice().userInterfaceIdiom == .Phone { 
     return .AllButUpsideDown 
    } else { 
     return .All 
    } 
} 
+0

Я не могу использовать "|" оператор с .Портрайт и .Портрет. – dfgdfg

+0

Попытка использовать 'rawValue' – Bannings

+0

Спасибо. Почему я должен использовать «UIInterfaceOrientationMask.Portrait.rawValue» вместо «.Portrait.rawValue» для операции ИЛИ? – dfgdfg

0

Вы могли бы хотеть попробовать:

return (UIInterfaceOrientationMaskPortrait | UIInterfaceOrientationMaskPortraitUpsideDown) 

Не уверен, что если Swift будет поддерживать оператор побитового.

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