如何让 UITableView 的 headerView跟随 cell一起滚动
1个回答
展开全部
在我们利用 UITableView 展示我们的内容的时候,我需要在顶部放一个不同于一般的cell的 界面,这个界面比较独特。
1。 所以我就把它 作为一个section的 headerView。
也就是在函数:
- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section
里面返回 这个UIView。
但是,由于这个UIView占的空间很大,基本占用整个屏幕的高度,而滚动tableView的时候,只滚动cell的内容,而这个section的
headerView却不跟着滚动。
后面,我想出了方法2。
2。 设置 tableView的 style为 UITableViewStyleGrouped,然后让
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
返回1。
这样确实可以让 headerView ,在滚动tableView的时候,跟随着cell的内容一起滚动。但是,我发现,下面的cell都被加上了边框,
而且cell的水平显示范围变窄了。
所以尝试了方法3。
3。 将UIView设置为 整个tableView的headerView,而不是 section 0的headerView
self.tableView.tableHeaderView=header;
这样,就可以完美的满足 headerView跟随cell的内容一起滚动的要求拉。
结论:设置 UIView为 tableView的tableHeaderView即可实现 headerView跟随tableView一起滚动的效果。
1。 所以我就把它 作为一个section的 headerView。
也就是在函数:
- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section
里面返回 这个UIView。
但是,由于这个UIView占的空间很大,基本占用整个屏幕的高度,而滚动tableView的时候,只滚动cell的内容,而这个section的
headerView却不跟着滚动。
后面,我想出了方法2。
2。 设置 tableView的 style为 UITableViewStyleGrouped,然后让
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
返回1。
这样确实可以让 headerView ,在滚动tableView的时候,跟随着cell的内容一起滚动。但是,我发现,下面的cell都被加上了边框,
而且cell的水平显示范围变窄了。
所以尝试了方法3。
3。 将UIView设置为 整个tableView的headerView,而不是 section 0的headerView
self.tableView.tableHeaderView=header;
这样,就可以完美的满足 headerView跟随cell的内容一起滚动的要求拉。
结论:设置 UIView为 tableView的tableHeaderView即可实现 headerView跟随tableView一起滚动的效果。
网易云信
2023-12-06 广告
2023-12-06 广告
很高兴能回答您的问题。以下是一段针对“一对一消息组件”的描述,字数在200字左右:该组件支持用户之间的私密交流,让沟通更加直接和高效。通过它,您可以向特定对象发送消息,并实时查看消息状态,包括对方是否已读或未读。同时,该组件还支持富文本消息...
点击进入详情页
本回答由网易云信提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询