Skip to content

TsnumiDC/ScrollDemo

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 

Repository files navigation

ScrollDemo

Github Demo 地址

  1. 业务场景各种首页经常会有上下滚动,左右滚动的场景,如以下效果

应用场景

  1. 实现效果

实现效果

  1. 层级结构

结构介绍

  1. 滚动逻辑

逻辑介绍

  1. 代码实现中的一些细节处理

让内层的tableView滑动手势可以传出去,这时候需要一个继承UITableView,以下是GestureTableView.swift文件

//
//  GestureTableView.swift
//  ScrollDemo
//
//  Created by Dylan Chen on 2019/10/8.
//  Copyright © 2019 ScrollDemo. All rights reserved.
//

import UIKit

class GestureTableView: UITableView, UIGestureRecognizerDelegate {

    var isCanScroll: Bool = false
    
    func gestureRecognizer(_ gestureRecognizer: UIGestureRecognizer, shouldRecognizeSimultaneouslyWith otherGestureRecognizer: UIGestureRecognizer) -> Bool {
        return true
    }
}

内层防止左右滚动的时候可以上下滚动

    func scrollViewWillBeginDragging(_ scrollView: UIScrollView) {
        if scrollView == containerScrollView {
            leftTableView.isScrollEnabled = false
            rightTableView.isScrollEnabled = false
        }
    }
    
    func scrollViewDidEndDecelerating(_ scrollView: UIScrollView) {
        if scrollView == containerScrollView {
            leftTableView.isScrollEnabled = true
            rightTableView.isScrollEnabled = true
        }
    }
    
    func scrollViewDidEndDragging(_ scrollView: UIScrollView, willDecelerate decelerate: Bool) {
        if scrollView == containerScrollView {
            if !decelerate {
                leftTableView.isScrollEnabled = true
                rightTableView.isScrollEnabled = true
            }
        }
    }

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages