效果圖頭部懸停 底部不懸停
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); }