把 UITableView
的 style
屬性設置為 Plain
,這個tableview的section header在滾動時會默認懸停在界面頂端。
如果想取消懸停效果,可以采用如下2種方法
1. 修改 UITableView
的 style
屬性設置為 Grouped. 這時所有的section header都會隨着scrollview滾動了。不過
grouped
和 plain
的樣式有輕微區別,切換樣式后也許需要重新調整UI
2. 如果需要使用 Grouped 這種樣式, 也可以通過重載 scrollView 的 delegate 來達到目的:
- (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); } }