Как обновить UIWebView жестом «опустить и отпустить»? - PullRequest
8 голосов
/ 11 июля 2010

Я знаю, что это возможно в Tweetie для iPhone или в приложении xkcd для iPhone, но они используют таблицу. Есть идеи, если это можно сделать и для простого UIWebView? Я знаю о предложениях Javascript в этом SO вопросе , но как насчет того, чтобы сделать это изначально?

Ответы [ 4 ]

13 голосов
/ 03 ноября 2010

Чтобы получить события прокрутки в UIWebView, я лично использую этот код, чтобы получить представление прокрутки, которое находится внутри UIWebView:

- (void) addScrollViewListener
{
    UIScrollView* currentScrollView;
    for (UIView* subView in self.myWebView.subviews) {
         if ([subView isKindOfClass:[UIScrollView class]]) {
            currentScrollView = (UIScrollView*)subView;
            currentScrollView.delegate = self;
        }
    }
}

Это работает.Вы также можете использовать его для вызова [(UIScrollView*)subView setContentOffset:offSet animated:YES]; Единственной проблемой может быть не пройти проверку кода Apple.Я еще не знаю, так как я все еще в фазе кодирования.

Кто-нибудь еще пробовал это?

5 голосов
/ 30 октября 2011

Между прочим, iOS 5 официально представила свойство scrollView в UIWebView.Я проверял это.Он отлично работал с кодом подтяжки и обновления EGO.Таким образом, проблема больше не является проблемой для любых устройств iOS 5.

Для нисходящей совместимости вам все еще нужен код @ CedricSoubrie.

1 голос
/ 03 марта 2011

По правде говоря, класс UIWebVIew имеет недокументированный метод получения, называемый _scrollView; Итак, код выглядит так:

scrollView = [webView _scrollView];

1 голос
/ 03 марта 2011

Чтобы получить ссылку на UIScrollView в UIWebView, просто найдите его, выполнив итерации через подпредставления.

for(id eachSubview in [webView subviews]){
        if ([eachSubview isKindOfClass:[UIScrollView class]]){
            scrollView = eachSubview;
            break;
        }
}

После этого вы можете легко подключить вещи к интерфейсу EGORefreshTableHeaderView с помощью обратных вызовов делегата UIWebView и UIScrollView.

...