UITableView:改变 TableHeaderView 的高度
参考:http://stackoverflow.com/a/526825
有这么一种需求,在列表顶端显示一些别样的数据,而这个别样的数据则需要通过一个别样的 View 来展现,它便是 UITableView 的 tableHeaderView。
倘若 tableHeaderView 里的内容很固定,高度不要随着内容的不同而改变,这样还好。
如果,高度是需要动态改变的,某些人(比如我)可能就会遇到这样一个难题:
已经给 view 中的每个子 view 设置过值了,高度算过了,frame 也重新设置过了,可 tableHeaderView 的高度却还是之前的高度,没有变化。内容变多,则会有一部分看不见了;内容变少,则有一部分空白,放在那里实在不好看。
怎么办??
view 作为 tableView 的 tableHeaderView,单纯的改变 view 的 frame 是无济于事的,tableView 不会大度到时刻适应它的高度(以后 Apple 会不会改变就不知道了),所以,如何告诉tableView 它的 tableHeaderView 已经改变了?很简单,就一句话(关键最后一句):
[webView sizeToFit];
CGRect newFrame = headerView.frame;
newFrame.size.height = newFrame.size.height + webView.frame.size.height;
headerView.frame = newFrame;
[self.tableView setTableHeaderView:headerView];
这样以后,效果就出来了。不过这种过度显得有些生硬,能不能加一点点动画,让它变得顺眼一些呢?试试下面的代码:
[self.tableView beginUpdates];
[self.tableView setTableHeaderView:headerView];
[self.tableView endUpdates];
UITableView:改变 TableHeaderView 的高度的更多相关文章
- 第19月第20天 UITableView:改变 TableHeaderView 的高度 获取目录大小
1.UITableView:改变 TableHeaderView 的高度 CGRect newFrame = headerView.frame; newFrame.size.height = newF ...
- Swift4 - 动态计算UITableView中tableHeaderView的高度 - 获取子控件高度和宽度
核心 : /// 获取 子控件高度 func sizeHeaderToFit(view:UIView) { view.setNeedsLayout() view.layoutIfNeeded() le ...
- iOS开发--改变tableHeaderView的高度
1.先获取tableHeaderView 2.设置它的frame 3.将该view设置回tableview UIView *view=tableView. tableHeaderView; view. ...
- 动态改变tableHeaderView的显示隐藏及高度
改变tableHeaderView的高度: UIView *headerView = _tableView.tableHeaderView; headerView.height = 10; 当设置高度 ...
- 【iOS知识学习】_iOS动态改变TableView Cell高度
在做tableView的时候,我们有时候须要依据cell的高度动态来调整.近期在网上看到一段代码不错.跟大家Share一下. 在 -(UITableViewCell *)tableView:(UITa ...
- tableview中用动画效果改变cell的高度
我们要的效果大概就是如下效果: 当我们选择一个cell的时候,我们就要改变它的高度,并且以动画的形式. 我们该如何实现这个效果呢?我们主要需要使用以下这两个方法: - (CGFloat)tableVi ...
- swift 自动布局设置 tableview 的 tableHeaderView 的高度
class headerView: UIView { var whiteView = UIView().then { $.backgroundColor = UIColor.red } overrid ...
- 动态替换iframe的src及动态改变iframe的高度
实现效果:点击左侧右侧内容变化,但左侧保持不变(如折叠等) 动态替换iframe的src <iframe width="100%" frameBorder="0&q ...
- iOS UITableView设置tableHeaderView时发生约束错误 UIView-Encapsulated-Layout-Height UIView-Encapsulated-Layout-Width
在将UITableView的tableHeaderView设置为我自己创建的View的时候, 当我为这个自定义View添加约束之后启动调试, 然后符号断点UIViewAlertForUnsatisfi ...
随机推荐
- Wince/VC高效PNG贴图,自定义Alpha算法
工作中,做一些炫点的界面都需要用到PNG图片,Wince里面微软也提供了PNG图片的支持,不过Alpha的混合速度比较慢,所以自己实现了一个Alpha的混合运算接口,经过测试,要比微软AlphaBle ...
- Oracle报错:ORA-06508: PL/SQL: 无法找到正在调用的程序单元
原因:调用的存储过程已经被修改过. 解决方案:重新编译存储过程.
- 【WPF】树形结构TreeView的用法(MVVM)
TreeView控件的用法还是有蛮多坑点的,最好记录一下. 参考项目: https://www.codeproject.com/Articles/26288/Simplifying-the-WPF-T ...
- hive常用参数配置设置
hive.exec.mode.local.auto 决定 Hive 是否应该自动地根据输入文件大小,在本地运行(在GateWay运行) true hive.exec.mode.local.auto.i ...
- python多线程同步机制Lock
#!/usr/bin/env python# -*- coding: utf-8 -*- import threadingimport time value = 0lock = threading.L ...
- 【javascript】设为首页——setHome
原生 js 编写,兼容 ie,火狐和谷歌. 函数如下: function setHome(obj,url){ try{ obj.style.behavior = 'url(#default#homep ...
- PCL法线估计
平面的法线是垂直于它的单位向量.在点云的表面的法线被定义为垂直于与点云表面相切的平面的向量.表面法线也可以计算点云中一点的法线,被认为是一种十分重要的性质.常常在被使用在很多计算机视觉的应用里面,比如 ...
- logback.xml配置文件详解
越是老司机越会对日志重视. 如下配置实现了 1.日志文件使用相对路径输出. 2.从日期与文件大小两个纬度分割. 3.特定包与类的日志输出 ** 当存在多个name相同的logger时,逻辑不是很清楚 ...
- Spring配置文件<context:property-placeholder>标签使用漫谈
<context:property-placeholder>标签提供了一种优雅的外在化参数配置的方式,不过该标签在Spring配置文件中只能存在一份!!! 众所周知,Spring容器是采用 ...
- 【转】VMware Fusion Professional 10 序列号
http://bbs.feng.com/forum.php?mod=viewthread&tid=11456176