[10秒学会] - iOS tableView中headView和footView悬停方式
[10秒学会] - iOS tableView中headView和footView悬停方式
赵大财 发表于2年前
[10秒学会] - iOS tableView中headView和footView悬停方式
  • 发表于 2年前
  • 阅读 1122
  • 收藏 1
  • 点赞 3
  • 评论 0

移动开发云端新模式探索实践 >>>   

摘要: [10秒学会] - iOS tableView中headView和footView悬停方式

效果图头部悬停 底部不悬停

一共4种

一: 2个都悬停 UITableViewStylePlain  //没什么好疑问的
二:2个都不悬停 UITableViewStyleGrouped //也没啥好疑问的
三:头部不悬停 底部悬停 使用UITableViewStylePlain //网上已经很多这个代码 还是贴一下吧

-(void)scrollViewDidScroll:(UIScrollView *)scrollView {  
//    if (scrollView == self.myTableView)  
    {  
        //YOUR_HEIGHT 为最高的那个headerView的高度  
//        CGFloat sectionHeaderHeight = 20;  
        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);  
        }  
    }  
} 

四 才是今天我们的重点 头部悬停 底部不悬停
 

    self.tableView.contentInset = UIEdgeInsetsMake(0, 0, -105, 0); //首先改变内边距 -105是底部的距离
    CGRect rectInTableView = [self.tableView rectForRowAtIndexPath:[NSIndexPath indexPathForRow:5 inSection:2]]; //现在是写死的 你可以根据模型数据 写成变量
    CGRect rect = [self.tableView convertRect:rectInTableView toView:[self.tableView superview]];//这是是最后cell row的高度
    if(rect.origin.y<=-1288){ //-1288  这个位置 是可以根据你的位置调整出来
        self.tableView.contentInset = UIEdgeInsetsMake(0, 0, 0, 0);
    }else{
        self.tableView.contentInset = UIEdgeInsetsMake(0, 0, -105, 0);
    }

 

  • 打赏
  • 点赞
  • 收藏
  • 分享
共有 人打赏支持
粉丝 20
博文 161
码字总数 38666
×
赵大财
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: