這個效果在很多app中都有用到,比如微信朋友圈,知乎日報首頁
我的項目里也遇到了這樣的需求.特意記錄下來,沒啥技術含量 都是第三方的東西
其實核心就幾行代碼
原理是讓輪播器和tableView的布局都頂在父視圖的頂部 輪播器蓋在tableView的上面
然后設置tableView的偏移量為230 讓他提前偏移出輪播器高度的值 ?不至于讓輪播器擋住tableView的內容
然后監聽tableView的滾動
使用這個方法 根據tableView滑動的偏移量計算出輪播器的高度?然后更新輪播器的高度布局
下面的navView是把系統的navigationController隱藏了? 自己做了個64高度的uiview作為navigationController? 因為我的需求里 根據滑動偏移量是要改變navigationController的顏色? 如果用系統的會影響到push到其他頁面的navigationController,我嫌麻煩,所以干脆隱藏自己做個假的
NAVBAR_CHANGE_POINT這個宏是用來定義tableView偏移量到多少的時候navigationController開始調整它的透明度
布局的時候不要忘了把tableView和輪播器約束都設置為參照self.view頂部為0
自動布局用的Masnory,輪播器用的SDCycleScrollView
demo地址:http://git.oschina.net/jiuyue/tableViewPullDemo
Ps:如果想要實現圖片下拉露出更多的效果 ?請讓你的美工給你提供640x640的圖片 否則只能放大