Есть ли способ создать пользовательский вид с вертикальной или горизонтальной прокруткой, но не для обоих? Если в портретном режиме вертикальная прокрутка должна быть включена, а горизонтальная прокрутка должна быть отключена Если в ландшафтном режиме горизонтальная прокрутка включена, вертикальная прокрутка отключена.Горизонтальная или вертикальная прокрутка, но не обе
ответ
Вы можете установить свойство 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)];
}
}
спасибо. Я собираюсь попробовать это решение завтра. Другой вопрос: нельзя ли отображать изображение прокрутки? – cessmestreet
Возможно, просто установите showHorizontalScrollIndicator или showVerticalScrollIndicator в НЕТ. – Odrakir
большое вам спасибо. – cessmestreet
Все зависит от размера контента вашего UIScrollView. Если размер содержимого переполняет высоту кадра scrollView, вы включите горизонтальную прокрутку. Если он превышает высоту, вы включите вертикальную прокрутку.
Просто обновите свойство contentSize правильно при изменении ориентации и оно должно работать автоматически. – Mar0ux