У меня есть универсальное приложение iOS, и мне нужно использовать его с:
Альбомная левая или альбомная правая для iPad
Портрет для iPhone
Возьмем, к примеру, iPad. Мне нужно заставить приложение открываться в ландшафтном режиме, даже если устройство пользователя находится в портретном режиме. Это работало безупречно, когда приложение было только для iPad, а rakefile использовал эту настройку:
app.interface_orientations = [:landscape_left, : landscape_right]
К сожалению, теперь, когда это удалено, приложение по умолчанию отображается в портретном режиме. Я попытался изменить это, перезаписав следующие методы в UIViewController.rb. Это работает на симуляторе, но не на моем устройстве:
def shouldAutorotate
# Block AutoRotation if the interfaces is CORRECT
# Else allow IT
if Device.ipad? # BubbleWrap gem method
if App.shared.interfaceOrientation == UIInterfaceOrientationLandscapeLeft
return false
elsif App.shared.interfaceOrientation == UIInterfaceOrientationLandscapeRight
return false
else
return true
end
elsif Device.iphone?
if App.shared.interfaceOrientation == UIInterfaceOrientationPortrait
return false
else
return true
end
end
end
def viewDidAppear(animated)
# Change the orientation after the view Appeared
if Device.ipad?
App.shared.setStatusBarOrientation(UIInterfaceOrientationLandscapeLeft)
elsif Device.iphone?
App.shared.setStatusBarOrientation(UIInterfaceOrientationPortrait)
end
end
Я пробовал много решений, и ни одно из них не работает так, как я хочу.
Спасибо, Влад