tableView下沉

出现问题的界面如下,并附有大致介绍:

而我想做的界面应该是自定义的headerView和tableView是一起滑动的,而不是headerView在tableView滑动的时候始终在顶部位置,而且tableview恰好只有一个headerView,最终界面图如下面:

事先说明,我这里项目是纯代码编写,在网上也找了很多资料有关于利用xib,storyBoard出现的这种问题,借鉴了很多网上的方法,都不管用,最后折腾了很久,总算是没白忙活,现将解决方法分享下,希望对出现这种情况的有所帮助。

为了更好的比较,我这里先附上原先的核心代码,错误的演示

 

 

为了解决上面的问题,我尝试了设置self.automaticallyAdjustsScrollViewInsets=NO;但是还是不管用,所以排除了这种方法。

最后看到有两种解决方法:

1.将tableView的样式换成UITableViewStylePlain就好了

_contactTable = [[UITableView alloc] initWithFrame:CGRectMake(0, 60, clientRect.size.width, clientRect.size.height-115) style:UITableViewStylePlain];

但是这并满足不了自己的要求,tablewView是可以单独滑动的,headerView一直停留在顶部。所以这里的样式必须是

UITableViewStyleGrouped,于是最后用到的是下面的第二种方法。

2.当tableView的样式是UITableViewStyleGrouped时,采用下面的方法

1)创建自定义的headerView,105行的方法就不详细展示了

2)之后最重要的是,下面的两个方法不需要添上

- (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section

- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section

3)最后明白我以前用的是2)中的方法常见section里的headerView,这就会导致用UITableViewStyleGrouped时系统会默认让tableview下沉,我这里用的1)中的就不会。文档有解释

 

转载于:https://www.cnblogs.com/jingxin1992/p/6705581.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值