ios - storyboard中tableheaderview的自适应高度问题
黄舟
黄舟 2017-04-18 09:39:53
[iOS讨论组]

有两个问题:
1、storyboard中可以直接往tableview中拖控件作为tableheaderview,但是我发现tableheaderview的高度在storyboard设置以后就不能改了,如果我在代码里面改了tableheaderview的frame,tableview的cell与tableheaderview之间会空出一部分。
2、如果我用self.tableView.tableHeaderView = imageView;的方法来设置tableheaderview,第一行cell会被挡住。

不知道各位高手是怎么实现tableheaderview高度的自适应的。还有,我想实现tableview下拉,顶部的图片随着放大的效果,网上看了很多代码都跟tableheaderview有关,所以不解决上面的问题就无法实现,还是说大家有别的办法?请指点,谢谢~~

ps:我又试了另一种方法添加header

self.tableView.contentInset 
= UIEdgeInsetsMake(Screen_width/2 + 84, 0, 0, 0);
UIImageView *imageView
    = [[UIImageView alloc] initWithFrame:CGRectMake(4, -Screen_width/2 - 44, Screen_width, Screen_width/2)];
    [self.tableView addSubview:imageView];

可是又有疑问了,tableView.contentInset的偏移量怎么设置,跟状态栏、标签栏、导航栏有什么关系。你们可以看到imageview的y和tableView.contentInset的top值是不一样的,因为不这么写会有一部分cell被遮挡。而且imageview的x不能写成0,否则也会错位,为什么?

黄舟
黄舟

人生最曼妙的风景,竟是内心的淡定与从容!

全部回复(3)
巴扎黑

https://github.com/noveleven/...
大致思路是每次更新header时,计算header的最新高度,改变header的frame然后重新设置header,如果是下拉缩放图片就简单了,先计算偏移量,不断更新header就可以了,不需要考虑自适应问题。

ringa_lee

我觉得那就是你的headerview的高度不对,如果对的话,是不会遮挡第一cell的 ,你可以在返回headerviewheight的代理方法里面实现动态给他高度的方法

迷茫

在代码里面改了tableheaderview的frame后,需要reload一下data?

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号