Comments 15
Прошу прощения, возможно я что-то не уловил, не могли бы вы привести конкретный пример для случая когда в универсальном приложении для iPhone запретить смену ориентации девайса, а для iPad, само собой, разрешить?
if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) {
// возвращаем значения для iPad
}
else {
// и не iPad
}
// возвращаем значения для iPad
}
else {
// и не iPad
}
Если только для iOS6 и для всего приложения, то достаточно просто в Targets — Summary — iPhone/iPod Deployment Info — Supported Interface Orientations и iPad Deployment Info — Supported Interface Orientations выбрать нужные поддерживаемые ориентации для соответствующих устройств.
В других случаях — нужно воспользоваться одним из приведенных в статье методов и в контроллерах, где необходимо ограничить/разрешить смену ориентации, использовать проверку типа устройства (например, так, как предложил Stam).
В других случаях — нужно воспользоваться одним из приведенных в статье методов и в контроллерах, где необходимо ограничить/разрешить смену ориентации, использовать проверку типа устройства (например, так, как предложил Stam).
За разрешение UIInterfaceOrientationPortraitUpsideDown на айфоне/айподе предлагаю расстреливать — ни разу не сталкивался с ситуацией, в которой это положение имело бы смысл, но очень часто матерюсь, а иногда вовсе сношу приложения, которые позволяют экрану переворачиваться «кверхногами» — очень неудобно пользоваться ими лёжа.
Бывает ситуация, когда штекер (например зарядка в машине) не позволяет держать устройство в обычном UIInterfaceOrientationPortrait режиме. В таком случае UIInterfaceOrientationPortraitUpsideDown позволяет воспользоваться приложением. Я бы так критично не относился к дополнительному перевороту, а просто блокировал бы изменения режима, благо это легко включается/выключается.
К ответу makoomazan еще добавлю: в iPhone 5 разъем для наушников перенесли на нижнюю грань, что увеличивает количество ситуаций, когда UIInterfaceOrientationPortraitUpsideDown вас выручит.
В машине часто требуется, когда на зарядке айфон.
Ок, спасибо за найденные варианты использования айфона «кверхногами».
Новый вариант: «За неотключаемое UIInterfaceOrientationPortraitUpsideDown в программах-чатиках и программах-читалках (которые изначально не предназначены для использования в кредле за рулём автомобиля) на айфоне/айподе предлагаю лишать сладкого. Программы-навигаторы имеют право переворачиваться, как им вздумается» :)
Новый вариант: «За неотключаемое UIInterfaceOrientationPortraitUpsideDown в программах-чатиках и программах-читалках (которые изначально не предназначены для использования в кредле за рулём автомобиля) на айфоне/айподе предлагаю лишать сладкого. Программы-навигаторы имеют право переворачиваться, как им вздумается» :)
Автор, вы уверены что там именно логическое умножение?
Детально тему не изучал, но из изложенного вами там никак && не может быть, это было бы лишено всякого смысла. Должно быть именно bitwise and
app_mask && topmost_controller_mask
Детально тему не изучал, но из изложенного вами там никак && не может быть, это было бы лишено всякого смысла. Должно быть именно bitwise and
app_mask & topmost_controller_mask
Вы правы. Хотя документация и говорит «At any given time, the mask of the topmost view controller is logically ANDed with the app’s mask to determine what orientations are permitted» — действительно, смысл тут есть только при использовании побитовой операции.
В момент написания в 4 часа ночи мой сонный мозг не придал этому значения. Спасибо за замечание, внес исправления в статью.
В момент написания в 4 часа ночи мой сонный мозг не придал этому значения. Спасибо за замечание, внес исправления в статью.
За статью спасибо, но мне кажется, можно было бы изложить как-то покороче. Более в виде справочника и best practices. Или код разместить выше — чтобы его можно было быстро скопипастить себе в проект, а уж если захочется теории — почитать дальше.
Например, на том же StackOverflow я часто даже не читаю полностью вопрос, а сразу начинаю читать ответ для экономии времени.
Например, на том же StackOverflow я часто даже не читаю полностью вопрос, а сразу начинаю читать ответ для экономии времени.
Мне в iOS почти всё нравится больше и кажется удобнее, чем в Android, но только не Autorotation. Мой личный список грехов Apple:
— iTunes;
— developer.apple.com/membercenter;
— autorotation.
— iTunes;
— developer.apple.com/membercenter;
— autorotation.
У iOS 6 наблюдается замечательный баг: приложение может только Landscape, запускает авторизацию Game Center, который в свою очередь хочет Portrait, на 5 GC поворачивался, на 6 приложение падает.
Sign up to leave a comment.
Разбираемся с autorotation в iOS 6