UIScrollView не отскакивает
У меня есть UIScrollView , содержащийся в пользовательском UIView с размером содержимого, большим, чем кадр ScrollView.
Я могу перетащить прокрутку, как я ожидаю, но это не дает мне эффект резинкой, который вы получаете с UITableView или UIWebView. Он просто останавливается, когда вы достигаете одной из крайностей.
Я установил bounce = YES
, есть ли что-то еще, что я должен делать?
Я прочитал документы, и они говорят, что я должен реализовать делегат. Я сделал это.
Они также говорят, что я должен изменить уровни масштабирования, но я не хочу, чтобы пользователь действительно мог масштабировать, поэтому я не установил их.
Ответы
Ответ 1
Для тех, кто находит этот поток позже, если вы подклассифицируете UIView
и повторно установите кадр UIScrollView
на каждом layoutSubviews
, то есть проблема - он отменяет отскок:
http://openradar.appspot.com/8045239
Вы должны сделать что-то похожее на это:
- (void)layoutSubviews;
{
[super layoutSubviews];
CGRect frame = [self calculateScrollViewFrame];
if (!CGRectEqualToRect(frame, self.scrollView.frame))
self.scrollView.frame = frame;
}
Ответ 2
У меня была та же проблема, в UIScrollView, который не был заполнен (но я все еще хотел, чтобы он подпрыгнул). Просто настроено:
scroll.alwaysBounceVertical/Horizontal = YES;
И он работал как ожидалось
Ответ 3
Оказалось, что сохранение UIScrollView в моем пользовательском UIView вызывало проблемы.
Как только я переключил свой пользовательский UIView, чтобы вместо этого наследовать от UIScrollView, он начал работать.
Ответ 4
Это интересно... Много ли происходит, когда пользователь прокручивает прокрутку? Возможно, это может вызвать проблему. IPhone может многозадачно, но не слишком много. Могу ли я видеть, как весь ваш код имеет отношение к просмотру прокрутки?