iOS开发-让UITableView的headerview不悬停的方法

iOS开发-让UITableView的headerview不悬停的方法,第1张

当  UITableView 的  style 属性设置为  Plain 时,这个tableview的section header在滚动时会默认悬停在界面顶端。取消这一特性的方法有两种:

将  style 设置为  Grouped 。这时所有的section header都会随着scrollview滚动了。不过  grouped 和  plain 的样式有轻微区别,切换样式后也许需要重新调整UI

2

- (void)scrollViewDidScroll:(UIScrollView*)scrollView { CGFloat sectionHeaderHeight = 40

if

(scrollView.contentOffset.y<=sectionHeaderHeight&&scrollView.contentOffset.y>=0)

{ scrollView.contentInset = UIEdgeInsetsMake(-scrollView.contentOffset.y,  0,0,0)

} else

if(scrollView.contentOffset.y>=sectionHeaderHeight) { scrollView.contentInset = UIEdgeInsetsMake(-sectionHeaderHeight,0,0,0)

}}

可以利用Tabview的separatorStyle属性来设置,选择其中的UITableViewCellSeparatorStyleNone 可去除cell之间的下划线。self.tableView.separatorStyle = UITableViewCellSeparatorStyleNone

在tableViewCell的contentView 上添加一个view,通过这个view设置间距,所有内容都放到这个view 上

缺点:

如果存在左滑删除,左滑删除按钮的高度是整个cell的高度,看起来和cell内容高度不匹配

比如tableview有10条数据,就设置为10个section,设置section的headerview footerview的高度来实现cell间距,但这种方式只能设置上下间距

缺点:

1.只能设置上下间距

2.如果section headerView或footerView有内容时,此时就无法实现cell间距

缺点:

对于UICollectionView,系统没有相关提供方法来实现左滑删除,需要自定义。较为复杂

通过调整cell的frame,来实现cell的间距

缺点:

左滑删除时,cell滑动到最右端松手,会有一点卡顿,再回d到正确的位置

参考文章:

https://www.jianshu.com/p/940872e17ac7


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/7873090.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-10
下一篇 2023-04-10

发表评论

登录后才能评论

评论列表(0条)

保存