UITableView的section headerView不停留

1、修改 UITableView 的 style 屬性設置為 Grouped. 這時所有的section header都會隨著scrollview滾動了。不過 grouped 和 plain 的樣式有輕微區別,切換樣式后也許需要重新調整UI。

2、. 如果不使用 Grouped 這種樣式, 也可以通過重載 scrollView 的 delegate 來達到目的

OC版本

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

Swift版本

func scrollViewDidScroll(scrollView: UIScrollView) {
    let headerH:CGFloat = 20
    
    if scrollView.contentOffset.y <= headerH && scrollView.contentOffset.y >= 0{
        scrollView.contentInset = UIEdgeInsetsMake(-scrollView.contentOffset.y, 0, 0, 0)
    } else if scrollView.contentOffset.y >= headerH {
        scrollView.contentInset = UIEdgeInsetsMake(-headerH, 0, 0, 0);
    }
}
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 發現 關注 消息 iOS 第三方庫、插件、知名博客總結 作者大灰狼的小綿羊哥哥關注 2017.06.26 09:4...
    肇東周閱讀 12,200評論 4 61
  • 我不想對你贊美 因為你總是來得那么突然 無所顧及 摧毀他人的信念 是老天在變臉 翻書一樣簡單 不知是你性情的暴戾 ...
    走在路上的沉默閱讀 259評論 0 12
  • 老周原來是個農民,一直在家以種幾畝薄田為生。近年來,隨著農村新一輪經濟改革大潮的到來,老周村里的大部分土地都被政府...
    冬月之戀閱讀 709評論 4 26
  • 沒能看到我的路,路難道就此終結,路在何方?我的夢還沒有醒,難道我已經沒有了夢,夢在何處? 這是一條我沒走過的路,在...
    云夢浮華閱讀 250評論 0 2