一個巧妙的實現懸浮的tableViewHeader的方法,table邊框

來源:互聯網
上載者:User

一個巧妙的實現懸浮的tableViewHeader的方法,table邊框

之前因為工作需要要實現一個類似的懸浮+視差的headerView的效果,研究了好久沒研究出來怎麼做,最後用UICollectionView +  CSStickyHeaderFlowLayout的方法實現了(不得不說 CSStickyHeaderFlowLayout真的是一個很強大的庫,作者對UICollectionView的理解真的是深刻,建議有空一定要看一下他的源碼)。唯一有點小不爽的是我用了一個UICollectionView來實現了一個UITableView。。。 後來在gitHub上受 ARSegmentPager啟發,發現了另外一種巧妙的思路,也可以比較好的實現這種效果,而且用UITableView就可以實現,實現方式也比較簡單,還可以做更多的擴充,所以趕緊記錄一下。 這個思路的核心就是:     將自訂的headerView放在tabView 的上面,而不是作為tableView.tableHeaderView(即headerView和tableView平級,都添加到viewController的view上),然後設定tableView的contentInset為合適的值,在tableView滑動的時候,動態改變view的位置或者大小,使這個headerView看起來就像是有了懸浮功能的tableView.tableHeaderView。 我原來老想著利用在tableView的內部做點什麼來實現這個功能,而這個方法讓我跳出了定式思維,把headerView放在外面,可就想怎麼變就怎麼變了!!!(而且如果不提前說,幾乎看不出來這不是tableHeaderView)比如說這樣:或者這樣:再或者這樣: 當然,還可以做更多炫酷的效果,我這兒只是幾個最簡單最容易實現的。具體demo地址在這裡:https://github.com/Phelthas/TEST_XMLCommon 玩過以後你可能也發現問題了,這個只有手指在tableView上的時候才能滑動,在headerView上就不行了。。。。。。這肯定不能忍了,我目前想到的是可以用hitTest的方法來把手勢透過headerView,不過現在還沒時間試,周末有空了再完善一下~~ 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.