wkWebView中顶部或底部插入原生view

wkWebView中插入原生view有很多方法, 其中webView设置scrollView.contentInset并添加原生的view到inset区域可以实现界面效果, 但是会造成wkWebView中h5代码中的点击失效,在此的方法是通过js代码注入空白view区域将原生view添加上去; 只需在webView加载完成的代理方法中插入空白view, 并在相应的区域将原生的view添加到webView.scrollView即可:

- (void)webView:(WKWebView *)webView didFinishNavigation:(WKNavigation *)navigation {
    
    NSString *js = [NSString stringWithFormat:@"\
                    var appendDiv = document.getElementById(\"AppAppendDIV\");\
                    if (appendDiv) {\
                        appendDiv.style.height = %@+\"px\";\
                    } else {\
                        var appendDiv = document.createElement(\"div\");\
                        appendDiv.setAttribute(\"id\",\"AppAppendDIV\");\
                        appendDiv.style.width=%@+\"px\";\
                        appendDiv.style.height=%@+\"px\";\
                        document.body.prepend(appendDiv);\
                    }\
                    ", @(headHeight), @(self.webView.scrollView.contentSize.width), @(headHeight)];
                                                                                      
    [self.webView evaluateJavaScript:js completionHandler:nil];
    
}
// headHeight即为原生view的高度
// js代码最后一句document.body.prepend(appendDiv);\是将view加入到顶部
// 加入底部用:document.body.appendChild(appendDiv);\

//获取页面高度
[webView evaluateJavaScript:@"document.body.offsetHeight;"completionHandler:^(id _Nullable result,NSError *_Nullable error) {
        //获取页面高度
        NSLog(@"%@",result);
    }];
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 前言 关于UIWebView的介绍,相信看过上文的小伙伴们,已经大概清楚了吧,如果有问题,欢迎提问。 本文是本系列...
    CoderLF阅读 9,030评论 2 12
  • iOS 的 Cookie 存取 https://juejin.im/entry/58d4c4cc44d904006...
    Farmers阅读 6,024评论 0 16
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,640评论 25 708
  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 12,259评论 4 61
  • 进程相关概念 内核的功能 进程管理、文件系统、网络功能、内存管理、驱动程序、安全功能等。 process 进程,正...
    夹克K阅读 1,048评论 0 1