[10秒學會] - iOS tableView中headView和footView懸停方式

效果圖頭部懸停 底部不懸停
spa

一共4種code

一: 2個都懸停 UITableViewStylePlain  //沒什麼好疑問的
二:2個都不懸停 UITableViewStyleGrouped //也沒啥好疑問的
三:頭部不懸停 底部懸停 使用UITableViewStylePlain //網上已經不少這個代碼 仍是貼一下吧io

-(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);  
        }  
    }  
}

四 纔是今天咱們的重點 頭部懸停 底部不懸停
 table

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);
    }
相關文章
相關標籤/搜索