首先创建一个webView对象和

    private var webviewheight:CGFloat? =
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")
}

UITableViewCell上面添加UIWebView的更多相关文章

  1. iOS: 获取UITableViewCell上添加的子控件对应的cell

    一.简单介绍 UITableViewCell是UITableView的核心部分,我们在开发中因为功能的扩展经常需要自定义,以便在其上面添加子控件,例如button.label等.添加后获取这些子控件的 ...

  2. IOS 6 和 IOS7 UITableViewCell上添加控件的获取

    假设每个cell上面都有UIButton,怎么判断哪个Cell上的按钮被按下了呢? IOS6上 -(IBAction)btnClick:(id)sender { UIButton *btn = (UI ...

  3. UITableViewCell上的按钮点击事件处理

    转自:  http://www.aichengxu.com/view/42871 UITableViewCell上的按钮点击事件处理,有需要的朋友可以参考下. 今天突然做项目的时候,又遇到处理自定义的 ...

  4. iOS UITableViewCell点击时子视图背景透明的解决方法

    在做iOS项目的开发中,UITableView控件的应用十分广泛.在进行自定义UITableViewCell时,经常遇到这样的问题:在UITableViewCell上面添加了一个有背景颜色的子视图,当 ...

  5. UITableView与UITableViewCell

    转自:http://blog.sina.com.cn/s/blog_4cd14afb01014j97.html UITableView用来以表格的形式显示数据.关于UITableView,我们应该注意 ...

  6. 拖拽手势和清扫手势冲突时(UIPanGestureRecognizer和UISwipeGestureRecognizer冲突时)

    故事发生在这样的情境上:给整个控制器添加了一个拖拽手势,然后又在控制上的每个Cell上加了左滑清扫手势,然后问题来了:只有拖拽手势起作用,而左滑手势没有效果了,然后怎么解决这个问题呢!先上图: 当给整 ...

  7. UItableView与UICollectionView

    UITableView 1. UITableViewStyleGrouped 分区表格样式创建表格 .separatorStyle = UITableViewCellSeparatorStyleSin ...

  8. Coretext实现图文混排及Gif图片播放

    CoreText是iOS3.2推出的一套文字排版和渲染框架,可以实现图文混排,富文本显示等效果. CoreText中的几个重要的概念:  CTFont CTFontCollection CTFontD ...

  9. iOS基础 - UITableView的数据源和代理

    一.UITableView的代理方法 #pragma mark 每一行的高度 - (CGFloat)tableView:(UITableView *)tableView heightForRowAtI ...

随机推荐

  1. D3D游戏降帧的动态创建D3D设备以及ShellCode HOOK玩法

    欢迎转载,转载请注明出处:http://blog.csdn.net/gnorth/article/details/9327971 说白了,也就是HOOK掉Present,这种代码,其实百度上某些地方有 ...

  2. 遍历Javascript数组的一种方法!

    应用场景: 如果您的数组只用一次的话就适用这种方法,因为遍历完后数组便清空了.代码如下: var arr=[1,5,6,2,3]; for(;i=arr.shift();){ console.log( ...

  3. 2013 Esri全球用户大会之元数据支持

    1.1 是否支持FGDC CSDGMArcGIS是否支持FGDC CSDGM和North American Profile (NAP)元数据标准?如何支持? 支持,从ArcGIS forDesktop ...

  4. Linux进程同步之POSIX信号量

    POSIX信号量是属于POSIX标准系统接口定义的实时扩展部分.在SUS(Single UNIX Specification)单一规范中,定义的XSI IPC中也同样定义了人们通常称为System V ...

  5. Mysql监控及优化

    一.Mysql连接数 1.配置Mysql连接数: vim /etc/my.cnf [mysqld]下面修改 max_connections=1000 不写默认为100. wait_timeout=60 ...

  6. Web 请求响应原理(转)

    用Java实现Web服务器 减小字体 增大字体 摘要:WWW的工作基于客户机/服务器计算模型,由Web 浏览器(客户机)和Web服务器(服务器)构成,两者之间采用超文本传送协议(HTTP)进行通信,H ...

  7. Kettle的应用——对mysql数据进行表输入与导出

    Kettle的应用——对mysql数据进行表输入与导出 1. 下载好kettle解压包 网址:http://sourceforge.net/projects/pentaho/files/Data%20 ...

  8. css修改滚动条默认样式

    之前因为公司项目需要,在网上找到的: 直接上代码了 html代码 <div class="inner"> <div class="innerbox&qu ...

  9. USACO 4.2 The Perfect Stall(二分图匹配匈牙利算法)

    The Perfect StallHal Burch Farmer John completed his new barn just last week, complete with all the ...

  10. cocos2d环境及创建一个自己的项目

    一. mac环境:     1.在终端操作,准备好mac系统下的sdk,adt,ndk,ant文件,放在自己的目录中     2.进入mac终端,输入: vim ~/.bash_profile 然后回 ...