Отключите режим прокрутки по умолчанию в UIWebView с помощью target-c - PullRequest
6 голосов
/ 27 сентября 2010

Я знаю, что вы можете использовать javascript для этого

<script type="text/javascript">
touchMove = function(event) {
event.preventDefault();
}

Есть ли способ сделать то же самое, используя target-c?

Ответы [ 4 ]

7 голосов
/ 27 сентября 2010

попробуйте это ...

UIView * v = [[webView subviews] lastObject];
[v setScrollEnabled:NO];
[v bounces:NO];

РЕДАКТИРОВАТЬ: Добавлены проверки в исходный ответ на основе комментария ниже

UIView * v = [[webView subviews] lastObject];
if([v isKindOfClass:[UIScrollView class] ]) {
    if ([v respondsToSelector:@selector(setScrollEnabled]) {
        [v setScrollEnabled:NO];
    }
    if ([v respondsToSelector:@selector(bounces)]) {
        [v bounces:NO];
    }
}
2 голосов
/ 17 августа 2012

Вы также можете получить доступ к scrollView следующим образом:

webView.scrollView.scrollEnabled = false;
webView.scrollView.bounces = false;
1 голос
/ 01 июля 2011

Используя ответы @ aaron-saunders и @ matt-rix, вот что лучше всего подходит для меня:

UIView *v = [[webView subviews] lastObject];
if([v isKindOfClass:[UIScrollView class]])
    [v setScrollEnabled:NO];
0 голосов
/ 15 июля 2013

Нет необходимости использовать сложные методы.Вы можете получить доступ к Scrollview веб-просмотра напрямую, как показано ниже.

web_view.scrollView.scrollEnabled = NO;

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...