SWIFT写的web view添加头部与尾部视图

webView的scrollView的子视图里的第0个视图,是真正控制web view的y值是从哪里开始的,只要改下它的frame就可以实现添加头视图,尾部视图需要计算加载的webview的高度。代码如下:



import UIKit

class WebViewController: UIViewController ,UIWebViewDelegate,UIScrollViewDelegate{

    var webView:UIWebView!
    var header:UIView!
    var footer:UIView!
    var webBrowserView:UIView!


    override func viewDidLoad() {
        super.viewDidLoad()

        self.view.backgroundColor = UIColor.whiteColor()
        // Do any additional setup after loading the view.
        webView = UIWebView()
        webView.frame = CGRectMake(0, 0, SCREEN_W, SCREEN_H)
        webView.delegate = self;
        webView.backgroundColor = UIColor.clearColor()
        self.view.addSubview(webView)

        let str = "***************************************"
        let request = NSURLRequest(URL: NSURL(string: str)!)
        webView.loadRequest(request)

        header = UIView()
        header.frame = CGRectMake(0, 0, SCREEN_W, 200)
        header.backgroundColor = UIColor.yellowColor()

        webBrowserView = webView.scrollView.subviews[0]

        var rect = self.webBrowserView.frame
        rect.origin.y = CGRectGetMaxY(header.frame)
        webBrowserView.frame = rect

        //添加
        webView.scrollView.addSubview(header)

        webView.scrollView.addObserver(self, forKeyPath: "contentSize", options: NSKeyValueObservingOptions.New, context: nil)
    }
    override func observeValueForKeyPath(keyPath: String?, ofObject object: AnyObject?, change: [String : AnyObject]?, context: UnsafeMutablePointer<Void>) {
        webView.scrollView.removeObserver(self, forKeyPath: "contentSize")
            let views = self.view.viewWithTag(100)
        let contentSize = webView.scrollView.contentSize
        let vi = UIView()
        vi.backgroundColor = UIColor.purpleColor()
        vi.tag = 100
        vi.frame = CGRectMake(0, contentSize.height, SCREEN_W, 150)
        webView.scrollView.addSubview(vi)
        webView.scrollView.contentSize = CGSizeMake(contentSize.width, contentSize.height+150)

        webView.scrollView.addObserver(self, forKeyPath: "contentSize", options: NSKeyValueObservingOptions.New, context: nil)
    }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值