Как повернуть информационную кнопку с видом? - PullRequest
1 голос
/ 02 февраля 2010

Я просто пытаюсь написать приложение на основе представления, которое использует только альбомную ориентацию.

Используя этот код:

application.statusBarOrientation = UIInterfaceOrientationLandscapeRight;

в методе applicationDidFinishedLaunching Приложение запускается в альбомной ориентации.

Проблема в том, что если я создаю альбомное представление в InterfaceBuilder, оно не отображается так, как я его создал ... Мне нужно создать представление в портретном режиме и представить, как оно выглядит, когда оно находится в портретный режим (надеюсь, вы понимаете, о чем я?) - вставляю уже повернутые изображения. Итак, теперь у меня все работает, но инфо-кнопка не вращается (как и другие кнопки, но остальные уже повернутые изображения) ...

В чем моя вина? Как сказать приложению использовать мой вид, который я спроектировал в альбомной ориентации?

Большое спасибо.

привет

Ответы [ 2 ]

0 голосов
/ 05 ноября 2011

Вам не нужно создавать вид в портретном режиме и представлять, как он выглядит в портретном режиме. Просто вам нужно создать свой вид в нужном вам режиме, а затем установить настройки проекта в нужный режим. В Xcode на левой панели вы можете увидеть Project Navigator, щелкнув синий значок названия проекта. Теперь в среднем представлении (редакторе) вы видите вкладку summary, на этой вкладке установите необходимый режим на iPhone Development Orientations.

0 голосов
/ 02 февраля 2010

Возможно, вам придется поворачивать свой вид (кнопку) в зависимости от ориентации:

UIInterfaceOrientation orientation = [UIDevice currentDevice].orientation;
CGAffineTransform transform;
switch (orientation) {
    case UIDeviceOrientationPortrait:
        transform = CGAffineTransformIdentity;
        break;
    case UIDeviceOrientationPortraitUpsideDown:
        transform = CGAffineTransformMakeRotation(180*M_PI/180);
        break;
    case UIDeviceOrientationLandscapeLeft:
        transform = CGAffineTransformMakeRotation(90*M_PI/180);
        break;
    case UIDeviceOrientationLandscapeRight:
        transform = CGAffineTransformMakeRotation(-90.0*M_PI/180);
        break;
    default:
        transform = CGAffineTransformIdentity;
        break;
}
[[myView layer] setAffineTransform:transform];
...