TableView Section Header 滑动粘性问题

在网上找到的方法

// 去掉UItableview headerview黏性(sticky)
- (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);
    }
}

该方法解决了粘性问题,但是tableView的tableViewheader会 藏到 navigation下面

于是有了下面的方法

- (void)scrollViewDidScroll:(UIScrollView *)scrollView
{
    CGFloat sectionHeaderHeight = sectionHeader高度;
    if (scrollView.contentOffset.y<=sectionHeaderHeight&&scrollView.contentOffset.y>=0) {
        scrollView.contentInset = UIEdgeInsetsMake(64, 0, 0, 0);
    }
    else if (scrollView.contentOffset.y>=sectionHeaderHeight) {
        scrollView.contentInset = UIEdgeInsetsMake(-sectionHeaderHeight, 0, 0, 0);
    }
}

问题解决

时间: 2024-12-17 17:22:38

TableView Section Header 滑动粘性问题的相关文章

设置TableView section header的颜色

- (void)tableView:(UITableView *)tableView willDisplayHeaderView:(UIView *)view forSection:(NSInteger)section {    view.tintColor = [UIColor clearColor];}

UITableView去掉section的header的粘性

思路:若header的高度为25,在滑动的时候将scrollView的内容偏移量上衣25,其实他还是粘在上面只不过我们看不到他了. ///---用于判断往上滑还是往下滑 var deltaY:CGFloat = -111 func scrollViewWillEndDragging(scrollView: UIScrollView, withVelocity velocity: CGPoint, targetContentOffset: UnsafeMutablePointer<CGPoint>

iOS- 如何改变section header

希望这个从UITableViewDelegate协议里得到的方法可以对你有所帮助: - (UIView *) tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section { UIView *headerView = [[[UIView alloc] initWithFrame:CGRectMake(0, 0, tableView.bounds.size.width, 30)] autorelease];

UITableView section header 不固定

iOS系统自带的UITableView,当数据分为多个section的时候,在UITableView滑动的过程中,默认section header是固定在顶部的,滑动到下一个section的时候,下一个section header把上一个section header顶出屏幕外.典型的应用就是通讯录. 默认情况下,UITableView的section header是固定的,如何让section header不固定呢?也就是随着UITableView的滑动而滑动,顶部不是一直都显示section

ios tableView的header高度不对

tableView的header高度不对,一般都是header是从xib加载出来的 第一步: 新建xib的时候选择的是View,当选择 Size 为 Freeform 时,view的约束就变成这样了,如下图 改成这样就好了,如下图 第二步: 如果上述还不能的话,就在 viewWillAppear 里,调用一下tableView.reloadData override func viewWillAppear(_ animated: Bool) { super.viewWillAppear(anim

ios 中scrollview上面嵌套tableView,左右滑动出现数据多次刷新的问题

注意scrollView左右滑动时不要刷新数据,刚进来时一次性请求所有数据 红包纪录和房源信息可以左右滑动和点击,tableView可以上下滑动,图片部分个人信息只刷新一次. 界面布局如下

[转][荐]优化tableView性能—针对滑动时出现卡的现象

在iOS应用中,UITableView应该是使用率最高的视图之一了.iPod.时钟.日历.备忘录.Mail.天气.照片.电话.短信. Safari.App Store.iTunes.Game Center?几乎所有自带的应用中都能看到它的身影,可见它的重要性. 然而在使用第三方应用时,却经常遇到性能上的问题,普遍表现在滚动时比较卡,特别是table cell中包含图片的情况时. 实际上只要针对性地优化一下,这种问题就不会有了.有兴趣的可以看看 LazyTableImages这个官方的例子程序,虽

TableView Section 高度

用 self.tableView.sectionHeaderHeight = 35 self.tableView.sectionFooterHeight = 0 设置的高度 第一个section 含有标题时 高度会比其它含有title的section高 使用 TableViewDelegate 协议里面的一个方法替换 override func tableView(tableView: UITableView, heightForHeaderInSection section: Int) ->

【iOS】UITableview cell 顶部空白的n种设置方法

我知道没人会主动设置这个东西,但是大家一定都遇到过这个问题,下面总结下可能是哪些情况: 1, self.automaticallyAdjustsScrollViewInsets = NO; 这个应该是最常见而且不容易被发现的原因,起因是iOS7在Conttoller中新增了automaticallyAdjustsScrollViewInsets这个属性,当设置为YES时(默认YES),如果视图里面存在唯一一个UIScrollView或其子类View,那么它会自动设置相应的内边距,这样可以让scr