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")
        }
  • 相关阅读:
    Android获取当前时间的3中方法总结
    解决 C# .NET WebClient WebRequest请求缓慢的问题
    无刷新的批量图片上传插件.NET版
    <img>标签显示本地路径的图片的.NET解决方案
    无刷新分页
    Shader基本类型
    shader内置变量和函数
    Shader基础
    Lua中的基本函数库
    Lua中的操作系统库
  • 原文地址:https://www.cnblogs.com/sunyaxue/p/5580955.html
Copyright © 2011-2022 走看看