博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
TableView头视图高度问题
阅读量:5281 次
发布时间:2019-06-14

本文共 890 字,大约阅读时间需要 2 分钟。

 

 

有这么一种需求,在列表顶端显示一些别样的数据,而这个别样的数据则需要通过一个别样的 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];

转载于:https://www.cnblogs.com/Camier-myNiuer/p/5093940.html

你可能感兴趣的文章
文本分类资源和程序开源共享
查看>>
java进阶01 异常处理
查看>>
Django模板层学习笔记
查看>>
开源webos--云DWOS
查看>>
JAVA学习路线图(一文详解)
查看>>
.Net和C#的理解
查看>>
initramfs文件系统
查看>>
jffs2和yaffs2文件系统
查看>>
How to check Logstash's pulse
查看>>
python闭包
查看>>
Leetcode-Letter Combinations of a Phone Number
查看>>
IntelliJ Idea 2017 免费激活方法
查看>>
IOS8 App开发快速入门视频教程与案例分享 20课 附讲义
查看>>
40、mysql的历史简介
查看>>
【java】为什么阿里巴巴禁止在 foreach 循环里进行元素的 remove/add 操作
查看>>
boost相关函数
查看>>
iOS 设置导航栏之二(设置导航栏的颜色、文字的颜色、左边按钮的文字及颜色)...
查看>>
Java Bean 使用包装类型 还是基本类型
查看>>
常见同花顺面试题实例总结
查看>>
JQuery Offset实验与应用(转载)
查看>>