Я работаю над своим первым проектом Xcode, и мне интересно, есть ли у вас 2 контроллера вида, один из которых будет иметь портретный вид, а второй - горизонтальный. Есть ли способ связать эти два контроллера представления так, чтобы при повороте устройства вид изменился?Изменить контроллер представления на вращение устройства
ответ
В viewDidLoad добавьте повернутое представление в супервизор и зарегистрируйте наблюдателя в UIDeviceOrientationDidChangeNotification с помощью объекта: [UIDevice currentDevice]. На селекторе установлен его кадр. Затем поверните новый повернутый вид, и установить альфа прежнию на 0,0
- (void)deviceOrientationChangedNotification:(NSNotification *)notification
{
UIDevice *device = [notification object];
UIDeviceOrientation orientation = device.orientation;
if (orientation == UIDeviceOrientationLandscapeLeft || orientation == UIDeviceOrientationLandscapeRight)
{
[rotatedView setTransform:CGAffineTransformMakeRotation(M_PI_2)];
rotatedView.frame = [UIScreen mainScreen].bounds;
oldView.alpha = 0.0;
}
}
Я не рекомендую вам сделать это, потому что есть некоторые контроллеры intuitives пользовательского интерфейса, яблоко, предназначенные для управления навигацией приложения , вы не можете позволить пользователям угадать, как выполнять некоторые задачи в вашем приложении, вы должны показать им, как это сделать. Итак, поверните устройство, чтобы перейти к другому контроллеру, как вы сказали: я хочу совершенно другое представление, когда оно повернуто ... Не очень хорошая идея.
Читать далее Руководство КСН Human Interface, чтобы увидеть, что рекомендуемое и что это не так:
iOS Human Interface Guidelines
В частности, читаем: Adaptivity and Layout:
Избегайте беспричинных изменений в макете. Сопоставимый опыт во всех средах позволяет людям сохранять свои шаблоны использования, когда они поворачивают устройство или запускают ваше приложение на другом устройстве. Например, если вы используете сетку для отображения изображений в горизонтально-обычной среде, вам не нужно отображать ту же информацию в списке в горизонтально компактной среде, хотя вы можете настроить размеры сетки.
Возможно, вы могли бы уточнить причину, по которой вы рекомендуете против нее? HIG покрывает много земли - предоставляя именно эту ссылку, на самом деле не помогает объяснить ваши рассуждения. (Кроме того, никогда не рекомендуется, чтобы ваш ответ полностью полагался на ссылку - ссылки действительно ломаются.) – Caleb
Это не очень хорошая идея, чтобы перейти на другой viewController. Мне нужно повернуть divice, что не является интуитивным и правильный способ управления навигацией приложения (это то, что он хочет). Очевидно, что он очень любитель и не читал путеводитель по яблоку о inteface iOS (то, что я рекомендовал ему со ссылкой, и я не буду объяснять ему все путеводители по этому пути). –
Это не редкость для приложения, чтобы представить себя по-разному в разных направлениях - например, попробуйте использовать приложение «Акции» Apple. Иногда один контроллер просмотра может управлять обеими ориентациями, но в то же время может иметь смысл использовать отдельные контроллеры для каждой ориентации. Обратите внимание, что слово * безвозмездное * не означает * все *. Я не говорю, что вы ошибаетесь, просто невозможно понять вашу рекомендацию, если вы не объясните это. – Caleb
- 1. Вращение/вращение устройства Число
- 2. iPhone, как отобразить другой контроллер представления в ответ на вращение устройства?
- 3. UIDynamics и вращение устройства
- 4. Как изменить контроллер представления на контроллер панели вкладок в качестве контроллера корневого представления
- 5. вращение устройства Android
- 6. Вращение устройства в ios
- 7. CoreAnimation и вращение устройства
- 8. Изменить контроллер представления после завершения анимации всплеска
- 9. UINavigationController Панель инструментов и ориентация устройства (вращение)
- 10. Как изменить контроллер представления, созданный раскадрой?
- 11. толчок контроллер представления отпустив представленный контроллер представления
- 12. UISplitViewController не распознает вращение устройства, когда охватывается модальным видеоплеер
- 13. Пользовательский UIViewController не реагирует на вращение устройства
- 14. Как изменить высоту представления на основе устройства? (xcode)
- 15. Как изменить ASP.NET MVC-представления на основе типа устройства?
- 16. Как я могу изменить UINavigationBar на контроллер представления
- 17. Можно ли изменить «начальный контроллер представления» на основе Target?
- 18. Ограничение ориентации на контроллер представления
- 19. Segue на новый контроллер представления
- 20. autolayout- разные устройства и вращение
- 21. Вращение камеры при вращении устройства
- 22. Вращение представления в ячейке ListView
- 23. Вращение страницы без вращающегося устройства
- 24. Контроллер представления источника против представления контроллера представления
- 25. Изменение контроллера табличного представления на контроллер просмотра
- 26. Вращение представления и обработка перерисовывания
- 27. Как передать информацию из ячейки представления таблицы в один контроллер представления на другой контроллер представления?
- 28. Выдвинуть меню перейти на другой контроллер представления
- 29. Постоянный контроллер представления
- 30. Как определить контроллер представления
Вы хотите, чтобы у вас был совершенно другой вид на вращение или вы просто хотите, чтобы подпункты отрегулировали свой размер? Если последнее, вы должны использовать AutoLayout или классы размера вместо этого. – BSMP
Я хочу совершенно другой вид, когда он повернут – John