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 может многозадачно, но не слишком много. Могу ли я видеть, как весь ваш код имеет отношение к просмотру прокрутки?