Авторазмер всех подпредставлений UIScrollView правильно при изменении ориентации - PullRequest
3 голосов
/ 08 августа 2011

у меня есть:

  • 1 вид прокрутки в нижней части страницы (как на панели), изначально с разрешением 768x100 пикселей, который настроен на растяжение до 1024 при повороте iPad в горизонтальное положение.
  • 2 подпредставления, каждое размером 768x100 пикселей; один в происхождении 0,0, и один в происхождении 768,0. В портретном режиме пользователь может перемещаться между этими панелями влево и вправо.

Когда я поворачиваюсь в альбомную ориентацию, подпредставления остаются одинакового размера, даже если авторазмер корректен. Они также остаются в той же позиции, что означает, что правая панель теперь отображается на 256 пикселей «в» справа.

Нет ли способа исправить это с помощью автоматического изменения размера? Нужно ли вручную настраивать подпредставления для поворота?

Ответы [ 3 ]

0 голосов
/ 08 августа 2011

Если подход к построителю интерфейса не работает или если у вас есть сложные подпредставления, которые нужно перестроить, вы можете сделать это -

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
    if(interfaceOrientation == UIInterfaceOrientationLandscapeLeft ||
       interfaceOrientation == UIInterfaceOrientationLandscapeRight)
    {
        /* handle resizing here*/
    }
    else if(interfaceOrientation == UIInterfaceOrientationPortrait || 
            interfaceOrientation == UIInterfaceOrientationPortraitUpsideDown)
    {
    }
}

Я могу ошибаться, также проверьте это

0 голосов
/ 10 сентября 2013

Насколько я знаю, вы должны настроить подпредставления вручную. Потому что свойство contentSize UIScrollView определяет размер представления, отображаемого для Span & Zoom. Обычно он не имеет никакого отношения к размеру контейнера (т.е. scrollview).

0 голосов
/ 08 августа 2011

Вы можете использовать автоматическое изменение размеров в конструкторе интерфейсов.

...