WKWebview添加头部局

2019-06-28  本文已影响0人  现在未来_9ff3

由于刚开始做关于iOS 端的移动开发,所以对于wkwebview的使用一直处于摸索中,今天就说一下关于给wkwebview添加头部局的问题。

首先wkwebview之所以能滑动,是因为其内部使用的是uiscrollview,所以为了让添加的头部局可以随webview一起滑动,要处理的控件其实是scrollview。

直接上代码

CGFloat height = _head.height;

//下面这一步是主要的,就是给添加的内容添加偏移量,是添加在scrollview上的

_web.scrollView.contentInset=UIEdgeInsetsMake(height,0,0,0);

[_web.scrollView addSubview:_head];

[_web loadHTMLString:standardHTML(content) baseURL:nil]

但是这里只添加偏移量是不够的,运行的效果是头部局和加载的内容重叠并且一起向下偏移,这时候我们就要想一下了,问题出在哪里,其实这就要从初始化头部局的时候说起。因为我们的head最终是添加到webview上的,所以head的四个位置点都要相对于webview来进行设置;另外webview添加的内容,其显示的初始位置是在webview的左上角,这时候如果我们设置头部局设置的起始点也是webview的左上角,这就回造成显示内容和头部局产生重叠,所以我们设置头部局的时候就要将起始位置进行向上移。

上代码:

错误:_head =[ [UIView alloc]initwithFrame:CGRectMake(0,0,width,height)];//会出现重叠

正确:_head = [ [UIView alloc]initwithFrame:CGRectMake(0,-height,width,height)];//将起始位置上移

在将head上以后,再设置webview.scrollview.contentInset,进行整体向下偏移,这样就会正常展示,不会产生重叠了。

刚开始接触ios,如有不正确的地方请指出,我将加以改正

上一篇下一篇

猜你喜欢

热点阅读