Scrollerview滑到最左側時側拉返回

今天優化項目的時候發現一個需要優化的地方,就是一個scrollerview,上面有很多頁面,滑動到最左側時沒有側拉返回的功能,只有點擊左上角返回按鈕才能返回,這是因為scrollerview吸收了系統的側拉手勢,使手勢不能傳遞下去,這個問題一直都存在但我一直也沒太在意,到了今天才決定優化一下.
首先我在viewDidLoad中加入這句話.

[self.scrollView.panGestureRecognizer requireGestureRecognizerToFail:self.navigationController.interactivePopGestureRecognizer];

加上這句話后是可以在scrollerview上面側拉返回了,但是不管當前頁面是不是最左邊都可以側拉返回,我需要的是在最左側的時候才可以側拉返回,不是最左側時就正常滑動.然后我看了看簡書的個人界面發現它是對scrollview的scrollView.contentOffset.x進行監聽,當scrollView.contentOffset.x小于某個值的時候直接pop,這個跟我想要也不太一樣.默默抽上一根煙后,我突然想到了.代碼如下:

/** 滑動結束后調用 */
- (void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView
{
        if (scrollView.contentOffset.x <= 0) {
//滑動結束后如果scrollview是滑動了最左側的話那么就讓它可以側拉返回
 self.navigationController.interactivePopGestureRecognizer.enabled = YES;
        }else
        {
//否則就不能側拉返回
       self.navigationController.interactivePopGestureRecognizer.enabled = NO;
        }
    }
}

好了,思路就是這樣,如果有什么不對的地方希望大家能幫忙指出,謝謝大家

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 173,057評論 25 708
  • 發現 關注 消息 iOS 第三方庫、插件、知名博客總結 作者大灰狼的小綿羊哥哥關注 2017.06.26 09:4...
    肇東周閱讀 12,198評論 4 61
  • 過年期間,筆者實在無聊,而且年后要找關于數據方面的實習,就用了大概3天空閑時間二刷了leetcode的string...
    handSomeJoe閱讀 1,088評論 0 1
  • 剛做大時代不久,今天這位會員就有咨詢過我,我也耐心的講解了,到最后快達成交易的時候她選擇了回避我,發信息不回,打電...
    b071d399b644閱讀 247評論 0 2
  • SDWebImage的常用方法 下載圖片并顯示同時做內存緩存和磁盤緩存圖片加載結束之后, 在本地磁盤緩存會對圖片名...
    面糊閱讀 1,218評論 0 50