Может ли кто-нибудь привести пример, как повернуть вид приложения с монотачем с портретной на альбомную и наоборот?
Монотачный поворот просмотра в портретной / альбомной ориентации
Ответы (3)
Если вы устанавливаете геометрию элементов пользовательского интерфейса в Интерфейсном Разработчике, убедитесь, что вы установили атрибуты Автоматическое изменение размера в Инспекторе размеров (Cmd + 3). Затем вы можете увидеть, как будет выглядеть вид после поворота, нажав маленькую кнопку «Повернуть» в верхнем левом углу строки заголовка вашего представления в Интерфейсном Разработчике.
После того, как вы все это настроили, просто переопределите следующий метод в своем ViewController:
public override bool ShouldAutorotateToInterfaceOrientation (UIInterfaceOrientation toInterfaceOrientation)
{
return true;
}
Теперь в симуляторе вы можете вращать все, что хотите, и ваш пользовательский интерфейс автоматически адаптируется.
Чтобы все знали, теперь он находится в объекте View Transform:
View.Transform.Rotate(3.14159f * 0.5f);
Для всех вас, таких как я, дотнетистов, которые не хотят использовать ничего, что есть CGAffineTransform, думая, что это сломает другие вещи, просто попробуйте. Отлично поработал для моего экземпляра. Повернул NavigationController.View, и все внутри него идеально.
Это то, что вы можете попробовать.
Если вы хотите изменить ориентацию вида, касаясь его, выполните следующие действия.
Реализуйте метод touchesBegan внутри представления.
В методе touchBegan проверьте текущую ориентацию устройства,
[[UIDevice currentDevice] orientation];
Если вы хотите изменить ориентацию, используйте метод CGAffineTransformation в представлении как
viewRef.transform = CGAffineTransformMakeRotation(angle);