2013-10-09 2 views
1

Я провел несколько дней, пытаясь увидеть рабочий индикатор горизонтальной прокрутки UIScrollView (без AutoLayout) на iOS7 (на iPad). Но безуспешно.UIScrollView без AutoLayout показывает горизонтальную прокрутку Индикатор в iOS 6, но не в iOS 7

Неужели кто-нибудь исправил такую ​​ошибку?

Мой проект прост и работает iOS5 и iOS6 без проблем.

я узнал, что на высоте iOS7 индикатора прокрутки изображения всегда равна нулю:

UIImageView * scrollBar = [[scrollView subviews] lastObject]; 
if (scrollBar != nil) 
{ 
    PrintRect(@"FRAME", scrollBar.frame); 
    PrintRect(@"BOUNDS", scrollBar.bounds); 
} 

Результат для iOS7:

FRAME x:0.000000 y:54.000000 w:338.000000 h:0.000000 
BOUNDS x:0.000000 y:0.000000 w:338.000000 h:0.000000 

но iOS6:

FRAME x:0.000000 y:47.000000 w:338.000000 h:7.000000 
BOUNDS x:0.000000 y:0.000000 w:338.000000 h:7.000000 

Таким образом, изображение полосы прокрутки по высоте на iOS7 равно нулю. Можно изменить высоту, но только на короткое время, потому что во время сна, высота снова становится нулевой.

+0

Вы не можете показывать свои коды? что такое 'contentSize' и размер' UIScrollView'? – Raptor

ответ

1

Я застрял на чем-то подобном. Я делаю курс CS193P на iTunes, и это было упражнение scrollView - Imaginarium. В основном это всего лишь UIImageView, встроенный в UIScrollView. У меня была та же проблема, что показатели прокрутки не были отображаться (с Autolayout выключен)

Я посмотрел файл заголовка для UIScrollView в документации и есть это свойство в scrollView называется scrollIndicatorInsets:

расстояние от индикаторов прокрутки находится на краю прокрутки.

@property(nonatomic) UIEdgeInsets scrollIndicatorInsets 

Он продолжает говорить, что значение по умолчанию UIEdgeInsetsZero !! Поэтому я создал UIEdgeInset с использованием UIEdgeInsetsMake (см. Документацию). Затем в viewDidLoad я установил этот UIEdgeInsets в качестве scrollIndicatorInsets scrollView, после чего мои индикаторы появились при прокрутке.

Надеюсь, это сработает и для вас.

+0

@ zero323 Спасибо, но, к сожалению, таким образом я могу изменить горизонтальное положение индикатора прокрутки, но не высоту. – AntonS

+0

AntonS Вы должны поблагодарить @Azzaknight. Мой ввод - это только некоторое форматирование. – zero323

+0

@Azzaknight Спасибо, но таким образом я могу изменить горизонтальное положение индикатора прокрутки для приложения iOS6, но высота изображения индикатора прокрутки все тот же и равна нулю в приложении iOS7. – AntonS

Смежные вопросы