亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

scrollview tableView嵌套解決方案示例

 更新時間:2022年08月31日 14:08:31   作者:biyuhuaping  
這篇文章主要介紹了scrollview tableView嵌套解決方案示例的代碼,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪

正文

在網(wǎng)上找了很多,沒有喜歡的方案。也參考了眾多設(shè)計,做了一款自認為比較簡潔、完美的方案:

大致思路:外層放置scrollview作為容器,容器內(nèi)上部分topView,下部分tableView。當tableView滾動時,如果topView還在展示區(qū)域,就設(shè)置topView的y坐標,讓topView跟隨同步上移。

(注意:如果不設(shè)置tableView的headerView,tableView、和topView都會同時上移不是我想要的效果,所以設(shè)置tableView的headerView高度包括topView的高度,達到了完美的效果,具體實現(xiàn)看demo)

效果預(yù)覽:

NestScrollView.gif

核心代碼就是在父視圖、子試圖的滾動判斷

//父視圖滾動的回調(diào),用于橫向滾動判斷

//父視圖滾動的回調(diào),用于橫向滾動判斷
- (void)scrollViewDidScroll:(UIScrollView *)scrollView{    
    CGFloat placeholderOffset = 0;
    if (self.topView.selectedIndex == 0) {
        if (self.firstTableView.contentOffset.y > CGRectGetHeight(self.topView.frame) - kItemheight) {
            placeholderOffset = CGRectGetHeight(self.topView.frame) - kItemheight;
        }else {
            placeholderOffset = self.firstTableView.contentOffset.y;
        }
        [self.secondTableView setContentOffset:CGPointMake(0, placeholderOffset) animated:NO];
    }else {
        if (self.secondTableView.contentOffset.y > CGRectGetHeight(self.topView.frame) - kItemheight) {
            placeholderOffset = CGRectGetHeight(self.topView.frame) - kItemheight;
        }else {
            placeholderOffset = self.secondTableView.contentOffset.y;
        }
        [self.firstTableView setContentOffset:CGPointMake(0, placeholderOffset) animated:NO];
    }
}

//子視圖滾動的回調(diào),用于豎直方向上滾動判斷

//子視圖滾動的回調(diào),用于豎直方向上滾動判斷
- (void)updateTopViewFrame:(UIScrollView *)scrollView{
    CGFloat placeHolderHeight = CGRectGetHeight(self.topView.frame) - self.topView.itemHeight;
    CGFloat offsetY = scrollView.contentOffset.y;
    CGFloat y = 0.0;
    if (offsetY >= 0 && (offsetY <= placeHolderHeight)) {
        y = -offsetY;
    } else if (offsetY > placeHolderHeight) {
        y = -placeHolderHeight;
    } else if (offsetY < 0) {
        y = -offsetY;
    }
    [self.topView mas_updateConstraints:^(MASConstraintMaker *make) {
        make.top.offset(y + kNavBarHeight);
    }];
}

githut demo下載地址:https://github.com/biyuhuaping/NestScrollView

以上就是scrollview tableView嵌套解決方案示例的詳細內(nèi)容,更多關(guān)于scrollview tableView嵌套的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • 淺談iOS推送證書生成pem文件(詳細生成過程)

    淺談iOS推送證書生成pem文件(詳細生成過程)

    這篇文章主要介紹了淺談iOS推送證書生成pem文件(詳細生成過程),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-08-08
  • iOS開發(fā)之手動布局子視圖

    iOS開發(fā)之手動布局子視圖

    這篇文章主要介紹了iOS開發(fā)之手動布局子視圖,從入門到精通幫助大家更好的開發(fā)iOS項目,感興趣的小伙伴們可以參考一下
    2016-08-08
  • iOS獲取某個日期后n個月的日期

    iOS獲取某個日期后n個月的日期

    這篇文章主要介紹了iOS獲取某個日期后n個月的日期的相關(guān)資料,需要的朋友可以參考下
    2017-08-08
  • iOS實現(xiàn)簡易的導(dǎo)航欄顏色漸變實例代碼

    iOS實現(xiàn)簡易的導(dǎo)航欄顏色漸變實例代碼

    很多APP 都有導(dǎo)航欄顏色漸變的效果,下面這篇文章主要給大家介紹了關(guān)于iOS如何實現(xiàn)簡易的導(dǎo)航欄顏色漸變效果的相關(guān)資料,文中通過示例代碼介紹的非常詳細,需要的朋友可以參考借鑒,下面來一起看看吧
    2018-10-10
  • Flutter Widgets MediaQuery控件屏幕信息適配

    Flutter Widgets MediaQuery控件屏幕信息適配

    這篇文章主要為大家介紹了Flutter Widgets 之 MediaQuery控件獲取屏幕信息和屏幕適配示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-11-11
  • IOS 百度糯米客戶端登錄BUG

    IOS 百度糯米客戶端登錄BUG

    這篇文章主要介紹了IOS 百度糯米客戶端登錄BUG,問題分析及解決方案,本文介紹的非常詳細,具有參考價值,特此分享供大家學(xué)習(xí)
    2016-01-01
  • iOS開發(fā)中使用文字圖標iconfont的應(yīng)用示例

    iOS開發(fā)中使用文字圖標iconfont的應(yīng)用示例

    這篇文章主要介紹了iOS開發(fā)中使用文字圖標iconfont的應(yīng)用示例,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-10-10
  • iOS NSURLSessionDownloadTask設(shè)置代理文件下載的示例

    iOS NSURLSessionDownloadTask設(shè)置代理文件下載的示例

    本篇文章主要介紹了iOS NSURLSessionDownloadTask設(shè)置代理文件下載的示例,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-01-01
  • iOS仿微信圖片分享界面實現(xiàn)代碼

    iOS仿微信圖片分享界面實現(xiàn)代碼

    這篇文章主要為大家詳細介紹了iOS仿微信相冊界面翻轉(zhuǎn)過渡動畫效果,微信采用界面翻轉(zhuǎn)的過渡動畫跳轉(zhuǎn)到評論界面,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-11-11
  • iOS Block解開多年以來一直的誤解

    iOS Block解開多年以來一直的誤解

    這篇文章主要給大家介紹了關(guān)于iOS Block多年以來一直的誤解如何解開的相關(guān)資料,文中通過圖文介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2018-05-05

最新評論