iOS开发小笔记 | 禁止WKWebView的左右弹性属性

iOS开发小笔记 | 禁止WKWebView的左右弹性属性_第1张图片
我们仍未知道那天所看见的花的名字

一.遇到的问题

将UIWebView换成WKWebView后,发现webView多了左右弹性属性,如下:


iOS开发小笔记 | 禁止WKWebView的左右弹性属性_第2张图片
webView的左右两边有弹性了

使用UIWebView时是没有左右弹性的。。。
PS:将UIWebView换成WKWebView后遇到很多烦心事。

二.解决问题的思路

我首先想到的是将webView里的scrollView的alwaysBounceHorizontal设为NO,但是无效,依旧可以左右摇摆。
然后我就想是不是web端的写法不是很完美导致的,但是如果是web端的写法有问题,按理说用UIWebView和WKWebView都会有问题。不管怎样,还是去请教一下web端的小伙伴吧。
然而web端小伙伴说前端框架没问题,并且说之前不都是OK的吗。。。
那就只有我自己来处理了。

三.最终是这样处理的

让webView的scrollView不能左右滑动即可,也就是让webView的内容一直水平居中。

self.webView.scrollView.delegate = self;

- (void)scrollViewDidScroll:(UIScrollView *)scrollView{
    // 让webview的内容一直居中显示
    scrollView.contentOffset = CGPointMake((scrollView.contentSize.width - screenWidth) / 2, scrollView.contentOffset.y);
}

更新:

后来发现是后台返回的html文本没包含header导致的,解决方法是在后台返回的html文本前拼接一段header,当然这只是暂时的,根本解决办法还是让后台优化返回的html字符串:

NSString *headerString = @"
"; [strongSelf.contentWebView loadHTMLString:[headerString stringByAppendingString:model.detail] baseURL:nil];

你可能感兴趣的:(iOS开发小笔记 | 禁止WKWebView的左右弹性属性)