如何给WKWebView添加头部视图尾部视图

应用场景:根据后台返回的HTML代码,用WKWebView加载,顶部和底部自定义UI,如图所示

header.png
footer.png

实现思路:

  • 1.添加CSS样式,空出头部和尾部的间距
  • 2.把自定义的头部视图添加到webView.scrollView上
  • 3.在WKWebView的代理方法中计算出尾部视图的frame

核心代码:

// webHeadViewH 头部视图高度
// kScreenW-15 图片的宽度
// model.desc! 后台返回的HTML代码
// webFooterViewH 尾部视图的高度

// 调节文字和图片大小来适配屏幕
let resizeHTML = String.init(format: "<p style='padding-top:%fpx;'></p><meta name='viewport' content='width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0'><meta name='apple-mobile-web-app-capable' content='yes'><meta name='apple-mobile-web-app-status-bar-style' content='black'><meta name='format-detection' content='telephone=no'><style type='text/css'>img{width:%fpx}</style>%@<p style='padding-bottom:%fpx;'></p>", webHeadViewH,kScreenW-15,model.desc!,webFooterViewH)
        
webView.loadHTMLString(resizeHTML, baseURL: nil)
func webView(_ webView: WKWebView, didFinish navigation: WKNavigation!) {
    
    // WKWebView禁止放大缩小(捏合手势)
    let injectionJSString : String = "var script = document.createElement('meta');script.name = 'viewport';script.content=\"width=device-width, initial-scale=1.0,maximum-scale=1.0, minimum-scale=1.0, user-scalable=no\";document.getElementsByTagName('head')[0].appendChild(script);"
    webView.evaluateJavaScript(injectionJSString, completionHandler: nil)

    //获取网页高度(这个高度包含了头部视图和尾部视图的高度)
    webView.evaluateJavaScript("document.body.offsetHeight;") { (object, errros) in
        if let error = errros {
           printLog(error.localizedDescription)
        }else{
            let documentHeight : CGFloat = object as! CGFloat
            self.footer.isHidden = false
            self.footer.frame = CGRect.init(x: 12, y: documentHeight-self.webFooterViewH, width: kScreenW, height: self.webFooterViewH)
        }
    }
}

详情参考:自己封装的WKWebView(OC)

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 1.ios高性能编程 (1).内层 最小的内层平均值和峰值(2).耗电量 高效的算法和数据结构(3).初始化时...
    欧辰_OSR阅读 30,045评论 8 265
  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 14,770评论 4 61
  • 红色消息,点开 你的眉,你的眼,你的笑颜 红色消息,放弃 我的心,我的魂,我的不自觉 爱你,是我的秘密 想过放弃,...
    April石阅读 2,865评论 0 11
  • 宽宽河面飞大桥, 高楼大厦居此旁。 生态渐好环境优, 安居乐业畅胸膛。 2017.10.16下午 图片来自:顺其自然
    白丰阁阅读 1,891评论 0 3

友情链接更多精彩内容