2

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

+1

Просто обновите свойство contentSize правильно при изменении ориентации и оно должно работать автоматически. – Mar0ux

ответ

2

Вы можете установить свойство contentSize вашего UIScrollView в зависимости от ориентации, к которой вы собираетесь обратиться.

- (void)willRotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration { 

    if(UIInterfaceOrientationIsPortrait(toInterfaceOrientation) { 
     [self.scrollView setContentSize:CGSizeMake(self.scrollView.bounds.size.width, scrollViewContentHeight)]; 
    } else { 
     [self.scrollView setContentSize:CGSizeMake(scrollViewContentWidth, self.scrollView.bounds.size.height)]; 
    } 
} 
+0

спасибо. Я собираюсь попробовать это решение завтра. Другой вопрос: нельзя ли отображать изображение прокрутки? – cessmestreet

+1

Возможно, просто установите showHorizontalScrollIndicator или showVerticalScrollIndicator в НЕТ. – Odrakir

+0

большое вам спасибо. – cessmestreet

1

Все зависит от размера контента вашего UIScrollView. Если размер содержимого переполняет высоту кадра scrollView, вы включите горизонтальную прокрутку. Если он превышает высоту, вы включите вертикальную прокрутку.