iPhone - UIWebView: обнаружение прокрутки пользователем вниз страницы

Итак, у меня есть UIView с UIWebView внутри, обслуживающий локальный файл HTML (предварительный просмотр документа). У меня также есть кнопки "Принять" и "Отклонить". Мне нужно, чтобы эти кнопки появлялись только после того, как пользователь прокрутил страницу вниз. Есть ли способ захватить событие для прокрутки в нижней части UIWebView?

Я не видел хороших ответов на это, кто-нибудь может помочь?

Заранее спасибо.

4 ответа

UIWebView соответствует UIScrollViewDelegate. Таким образом, вы можете создать подкласс UIWebView (скажем, ScrollDetectWebView) и захватить вызовы UIScrollViewDelegate.

- (void)scrollViewDidScroll:(UIScrollView *)scrollView
{
    [super scrollViewDidScroll: scrollView];

    // Whatever scroll detection you need to do
}

Да?

Почему бы просто не включить кнопки внизу страницы?

JavaScript позволяет обрабатывать событие прокрутки и отправлять сообщения в Objective-c.

- (void)viewDidLoad {
    [super viewDidLoad];

     self.webView.scrollView.delegate = self;
}

- (void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView {

    CGSize fittingSize = [self.webView sizeThatFits:CGSizeZero];

    CGFloat height1 = scrollView.bounds.origin.y + self.webView.bounds.size.height;

    CGFloat height2 = fittingSize.height;

    int delta = fabs(height1 - height2);

    if (delta < 30) {

       NSLog(@"HELLO!!! You reached the page end!");
    }
    }
Другие вопросы по тегам