zoukankan      html  css  js  c++  java
  • UITableViewCell上面添加UIWebView

    首先创建一个webView对象和

        private var webviewheight:CGFloat? = 0
        private var webViewcell : UIWebView?

    在viewDidLoad里面设置创建webViewcell,设置属性并用kvo监听webViewcell中scrollView的size的变化

    self.webViewcell = UIWebView(frame: CGRectMake(16, 0, UIScreen.mainScreen().bounds.size.width - 32, 1))
    self.webViewcell?.delegate = self
    self.webViewcell?.userInteractionEnabled = false
    self.webViewcell?.scalesPageToFit = true
    self.webViewcell?.scrollView.addObserver(self, forKeyPath: "contentSize", options: NSKeyValueObservingOptions.New, context: nil)

    在tableview的数据源中把webViewCell添加到cell上面

     func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
            let cell = tableview.dequeueReusableCellWithIdentifier("FindDetailHuoDongNeiRongTableViewCell") as? FindDetailHuoDongNeiRongTableViewCell
            cell?.selectionStyle = UITableViewCellSelectionStyle.None
            if self.webViewcell != nil{
                cell?.contentView.addSubview(self.webViewcell!)
            }
            return cell!
        }

    把监听到的高纪录一下,设置webviewcell的frame

        override func observeValueForKeyPath(keyPath: String?, ofObject object: AnyObject?, change: [String : AnyObject]?, context: UnsafeMutablePointer<Void>) {
    
           if keyPath == "contentSize"{
            
            if self.webviewheight != object!.contentSize.height{
                    self.webviewheight  = object!.contentSize.height
                    self.webViewcell?.frame = CGRectMake(16, 40, UIScreen.mainScreen().bounds.size.width - 32, webviewheight!)
                    dispatch_async(dispatch_get_main_queue(), { () -> Void in
                        self.tableview.reloadData()
                    })
                }
            }
    
        }

    移除监听

        deinit{
            webViewcell?.scrollView.removeObserver(self, forKeyPath: "contentSize")
        }
  • 相关阅读:
    Java平台调用Python平台已有算法(附源码及解析)
    java截取避免空字符丢失
    Java集合对象比对
    idea中的beautiful插件-自动生成对象set方法
    idea下maven命令打包不同配置
    提纲
    标记语言入门
    react入门
    深入理解React、Redux
    css伪类 伪元素
  • 原文地址:https://www.cnblogs.com/sunyaxue/p/5580955.html
Copyright © 2011-2022 走看看