2009-10-04 5 views

ответ

1

Это то, что вы можете попробовать.

Если вы хотите изменить ориентацию зрения, касаясь на представлении, а затем выполните следующие действия

  1. Реализуйте метод touchesBegan внутри вида.

  2. В методе touchesBegan проверьте ориентацию текущего устройства, [[UIDevice currentDevice] orientation];

  3. Если вы хотите, чтобы изменить ориентацию затем использовать метод CGAffineTransformation на представлении в качестве viewRef.transform = CGAffineTransformMakeRotation(angle);

8

Если вы установите геометрию ваших элементов ui в Interface Builder, затем убедитесь, что вы установили атрибуты Autosizing в Size Inspector (Cmd + 3). Затем вы можете увидеть, как вид будет выглядеть после поворота, щелкнув маленькую кнопку «Повернуть» в верхнем левом углу строки заголовка вашего представления в Interface Builder.

После того, как у вас есть все, что создали, просто переопределить следующий метод в ViewController:

public override bool ShouldAutorotateToInterfaceOrientation (UIInterfaceOrientation toInterfaceOrientation) 
{ 
    return true; 
} 

Сейчас в тренажере, вы можете повернуть все, что вы хотите, и ваш пользовательский интерфейс будет автоматически адаптироваться.

+0

Gees, я не мог поверить, насколько это было! :) Это обязательно должно быть отмечено как правильный ответ. Благодарю. – BruceHill

1

Просто так все знают, что теперь на взглядах Transform объект:

View.Transform.Rotate(3.14159f * 0.5f); 

Для всех вас Dotnet ребята, как я, которые не хотят, чтобы использовать все, что CGAffineTransform, думая, что это нарушит другие вещи , просто попробуйте. Работала отлично для моего примера. Поворот NavigationController.View и все внутри него идеально.

+0

это только вращает один конкретный вид, если он находится внутри UINavigationController, панель управления навигацией будет находиться на неправильной стороне экрана. –