关于tableView中tableHeaderView/tableFooterView/sectionHeader/sectionFooter/contentInset的理解

其实每个人的理解有所不同,找到最有利于自己的理解方式即可。有人把Cell、tableHeaderView、tableFooterView、sectionHeader、sectionFooter这些属性理解为tableVIew的内容,其他都不是,这样理解也可以。其实,在控件的本地坐标系中,内容是没有边界的,但有可视范围,可视范围就是bounds所描述的范围,只要是添加到该控件的东西,都属于其内容。所以下面这种方式如果可以理解的话,相信在使用的过程当中会更简单!

tableView中

1.增加或减少Cell

2.添加tableHeaderView或则tableFooterView

3.添加sectionHeader或则sectionFooter

4.添加子控件

以上四种情况都不会改变tableView内容的原点(默认控件的左上角),也就是bounds.origin。唯有改变contentInset,也就是添加内边距,会改变内容的坐标原点,也就是bounds点(移动了内容所在的本地坐标系)。

posted @   superxjhw  阅读(2050)  评论(0编辑  收藏  举报
编辑推荐:
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
点击右上角即可分享
微信分享提示