iOS лучший способ изменить пользовательский интерфейс при изменении ориентации - PullRequest
2 голосов
/ 04 марта 2012

Какой лучший способ изменить пользовательский интерфейс при изменении ориентации?

Например, использовать два разных UIView один портрет и пейзаж и показывать один из обоих, если ориентация изменилась, или использовать один UIView иизменить размеры и положение элементов управления пользовательского интерфейса?

Есть еще идеи?

Ответы [ 2 ]

5 голосов
/ 04 марта 2012
- (void)willAnimateRotationToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration
{
    if (toInterfaceOrientation == UIInterfaceOrientationLandscapeLeft ||
        toInterfaceOrientation == UIInterfaceOrientationLandscapeRight)
    {
        NSLog(@"Change to custom UI for landscape");
    }
    else if (toInterfaceOrientation == UIInterfaceOrientationPortrait ||
        toInterfaceOrientation == UIInterfaceOrientationPortraitUpsideDown)
    {
        NSLog(@"Change to custom UI for portrait");

    }
}
2 голосов
/ 04 марта 2012

Я всегда рекомендую использовать маску autoresizing для всех подпредставлений в представлении контроллера представления. При правильной настройке все виды автоматически изменят размеры в зависимости от ориентации, и вам не понадобятся дополнительные подпредставления, специфичные для вращения (один портретный вид и один ландшафтный вид).

...