iOS 一種tableView的滑動效果

record.gif

最近項目中有個頁面效果,具體如下
1.類似tableView上添加CustomView,當(dāng)tableView頂部停留時時,CustomView可以響應(yīng)事件
2.當(dāng)tableView滑動時,遮蓋住CustomView,同時CustomView不能響應(yīng)事件

初步的設(shè)計方案是tableView設(shè)置contentInset,CustomView添加到tableView的contentInset處,這樣布局存在的問題是CustomView會與tableView一起滑動,不滿足需求

重新設(shè)計的方案是控制器的view上依次添加CustomView、tableView,tableView設(shè)置contentInset并將tableView的背景色設(shè)為透明,接下來就是對一些UIScrollViewDelegate回調(diào)方法的處理

在處理一系列回調(diào)方法中,有一個拖動手勢問題讓我糾結(jié)了一陣子:慢慢滑動tableView和以一個初速度滑動tableView,下面對兩種拖動手勢做文字上的簡要描述:
方式一 --- 慢慢滑動tableView:是指在手指不離開屏幕的情況下,拖動tableView
方式二 --- 以一個初速度滑動tableView:向屏幕上方或屏幕下方以一個初速度滑動屏幕,并且手指離開屏幕

因為這兩種滑動所走的回調(diào)不同,所以需要分別處理

如何區(qū)分這兩種方式的手勢,通過- (void)scrollViewDidEndDragging:(UIScrollView *)scrollView willDecelerate:(BOOL)decelerate的decelerate。該回調(diào)僅僅處理方式一的手勢,可以通過BOOL值decelerate去區(qū)分,YES為方式二,NO為方式一。

因為回調(diào)方法中有些自定義的屬性需要配合整個代碼去理解,所以這里只放出一部分關(guān)聯(lián)性不強的代碼片段

// 控制導(dǎo)航欄和HeaderView的灰度顯示
- (void)scrollViewDidScroll:(UIScrollView *)scrollView{
    
    CGFloat offsetY = scrollView.contentOffset.y;
    CGFloat scale = (offsetY + self.headerViewH) / (self.headerViewH+10);
    if (scale > 0.6) {
        scale = 0.6;
    }
    self.hudView.alpha = scale;
    
}

具體的每個回調(diào)方法的處理細(xì)節(jié)請戳到:https://github.com/TMMMMMS/TableViewHudEffect.git,demo中每個回調(diào)方法都有明確注釋,方便各位看官理解

其實自我感覺這種實現(xiàn)方式還是顯得有些笨拙,個人還是更希望有大神提供給我新的實現(xiàn)思路,與我多多交流 ~ o.0

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 1、通過CocoaPods安裝項目名稱項目信息 AFNetworking網(wǎng)絡(luò)請求組件 FMDB本地數(shù)據(jù)庫組件 SD...
    陽明AI閱讀 16,171評論 3 119
  • 那些傷心的人傷心的事,不過是破繭成蝶的涅槃重生。 沒什么好委屈的。固步自封井底之蛙怨不得別人云云,格局太小眼界太窄...
    upupupupupup閱讀 234評論 0 0
  • 性能測試,準(zhǔn)備測試數(shù)據(jù)是一個重要的環(huán)節(jié)。 針對數(shù)據(jù)準(zhǔn)備我們有常用的以下幾種方式: 從生產(chǎn)的備用庫里面同步下來。 自...
    果果醬ya閱讀 3,285評論 2 10
  • 人在不清醒的時候 記著三分之一的夢 醒時就在一片愕然 在鏡子的縫中溜走 蟬在漸涼的秋風(fēng)里 瞥見了三分之一的冬 于是...
    晚歸的風(fēng)啊閱讀 437評論 10 33
  • Spring 是一個開源的,用來簡化企業(yè)級應(yīng)用開發(fā)的框架 Spring 是一個開源的,用來簡化企業(yè)級應(yīng)用開發(fā)的框架...
    風(fēng)吹草揚閱讀 349評論 0 0

友情鏈接更多精彩內(nèi)容