Disable UIWebView default scrolling behavior using objective-c

折月煮酒 提交于 2019-12-01 05:47:42

try this...

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

EDIT: Added checks to original answer based on comment below

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];
    }
}

You can also access the scrollView like this :

webView.scrollView.scrollEnabled = false;
webView.scrollView.bounces = false;

Using @aaron-saunders and @matt-rix 's answers, here's what works best for me :

UIView *v = [[webView subviews] lastObject];
if([v isKindOfClass:[UIScrollView class]])
    [v setScrollEnabled:NO];

No need to use complex methods. You can access Scrollview of webview directly as below.

web_view.scrollView.scrollEnabled = NO;

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!