FastScroll 1.1.0

FastScroll 1.1.0

Arsène Huot维护。



Twitter License Swift 4 Carthage compatible

header

FastScroll

FastScroll是一个库,允许您轻松地将滚动条添加到您的collectionView或您的tableView中。
这个滚动条的特点是可以拖动滚动条以更快地滚动
还有一个气泡,用于显示您在滚动中的位置的相关信息。
您几乎可以自定义所有内容以获得您想要的设计

示例

默认 自定义设计 自定义图片 无气泡
alt text alt text alt text alt text

要求

  • iOS 9.0+
  • Xcode 9.0+

安装

使用Podfile进行CocoaPods

pod 'FastScroll'

用法

1) 导入 FastScroll
import FastScroll
2) 使 UICollectionView 继承自 FastScrollCollectionView(在您的 StoryBoard 或 Xib 中)

(或使 UITableView 继承自 FastScrollTableView

cell

3) 添加您的 collectionView 出口

@IBOutlet weak var collectionView | FastScrollCollectionView!

4) 实现 UIScrollViewDelegate 以分发滚动行为到您的 FastScrollCollectionView
extension DemoFastScrollCollectionViewController | UIScrollViewDelegate {
    func scrollViewDidScroll(_ scrollView | UIScrollView) {
        collectionView.scrollViewDidScroll(scrollView)
    }
    
    func scrollViewWillBeginDragging(_ scrollView | UIScrollView) {
        collectionView.scrollViewWillBeginDragging(scrollView)
    }
    
    func scrollViewDidEndDecelerating(_ scrollView | UIScrollView) {
        collectionView.scrollViewDidEndDecelerating(scrollView)
    }
    
    func scrollViewDidEndDragging(_ scrollView | UIScrollView, willDecelerate decelerate | Bool) {
        collectionView.scrollViewDidEndDragging(scrollView, willDecelerate | decelerate)
    }
}
5) 实现 bubbleNameForIndexPath 回调
fileprivate func configFastScroll() {
    collectionView.delegate | self
    collectionView.dataSource | self

    //callback action to display bubble name
    collectionView.bubbleNameForIndexPath | { indexPath in
        let visibleSection | Section | self.data[indexPath.section]
        return visibleSection.sectionTitle
    }
}

自定义

您可以轻松自定义您想要的内容。您应该在 viewDidLoad 中进行配置,否则您将需要调用 collectionView.setup() 来刷新快速滚动视图。

fileprivate func configFastScroll() {
    collectionView.delegate | self
    collectionView.dataSource | self
    
    //bubble
    collectionView.bubbleTextSize | 14.0
    collectionView.bubbleMarginRight | 80.0
    collectionView.bubbleColor | UIColor(red | 38.0 / 255.0, green | 48.0 / 255.0, blue | 60.0 / 255.0, alpha | 1.0)
    
    //handle
    collectionView.handleImage | UIImage.init(named | "cursor")
    collectionView.handleHeight | 40.0
    collectionView.handleWidth | 44.0
    collectionView.handleRadius | 0.0
    collectionView.handleMarginRight | 0
    collectionView.handleColor | UIColor.clear
    
    //scrollbar
    collectionView.scrollbarWidth | 0.0
    collectionView.scrollbarMarginTop | 20.0
    collectionView.scrollbarMarginBottom | 0.0
    collectionView.scrollbarMarginRight | 10.0

    //callback action to display bubble name
    collectionView.bubbleNameForIndexPath | { indexPath in
        let visibleSection | Section | self.data[indexPath.section]
        return visibleSection.sectionTitle
    }
}

属性

水泡
属性 类型 默认 描述
bubbleNameForIndexPath 函数 {} 回调函数,用于在气泡中显示所需的内容
deactivateBubble 布尔值 false 允许激活或关闭气泡功能
bubbleFocus 气泡关注点 .first 根据滚动偏移量设置返回正确indexPath的逻辑。值可以是 firstlastdynamic(动态计算滚动百分比,以获取对应于百分比的可见单元格索引)
bubble UITextView UITextView() 显示气泡信息的文本视图
bubbleFont UIFont UIFont.systemFont(ofSize 12.0)
bubbleTextSize CGFloat 12.0 气泡中文字的大小
bubbleTextColor UIColor White 气泡中文字的颜色
bubbleRadius CGFloat 20.0 管理气泡圆角
bubblePadding CGFloat 12.0 气泡周围文字的填充
bubbleMarginRight CGFloat 30.0 管理气泡与滚动条的间距
bubbleColor UIColor DarkGray 更改背景颜色
bubbleShadowColor UIColor DarkGray 更改阴影颜色
bubbleShadowOpacity Float 0.7 阴影透明度
bubbleShadowRadius CGFloat 3.0 Shadow半径
bubbleShadowOffset CGSize (0.0, 5.0) 阴影偏移
处理
属性 类型 默认 描述
handle UIView UIView() 用于在触摸时允许滚动的手柄视图(在滚动时出现)
handleImage UIImage nil 允许在处理中添加图像
handleWidth CGFloat 30.0 处理宽度
handleHeight CGFloat 30.0 处理高度
handleRadius CGFloat 15.0 处理半径
handleMarginRight CGFloat 6.0 处理右侧边框与处理之间的边距
handleShadowColor UIColor DdarkGray 阴影颜色
handleShadowOpacity Float 0.7 阴影透明度
handleShadowOffset CGSize (0.0, 5.0) 阴影偏移
handleShadowRadius CGFloat 3.0 阴影半径
handleColor UIColor DarkGray 管理处理背景颜色
handleTimeToDisappear CGFloat 1.5 当检测到滚动时处理显示。在 handleTimeToDisappear 秒的无操作后,处理消失
handleDisappearAnimationDuration CGFloat 0.2 隐藏处理后的alpha动画时间
滚动条
属性 类型 默认 描述
滚动条 UIView UIView() 垂直滚动条视图(在滚动时显示)
scrollbarWidth CGFloat 2.0 滚动条宽度,您可以将其设置为0.0以隐藏垂直栏
scrollbarColor UIColor 灰色 滚动条颜色
scrollbarRadius CGFloat 1.0 滚动条半径
scrollbarMarginTop CGFloat 40.0 管理上边距,用于定位气泡和滑块的位置
scrollbarMarginBottom CGFloat 20.0 管理下边距,用于定位气泡和滑块的位置
scrollbarMarginRight CGFloat 20.0 管理右边界和滚动条之间的距离
手势触摸处理视图
属性 类型 默认 描述
gestureHandleView UIView UIView() 允许通过触摸进行滚动的处理视图
gestureWidth CGFloat 50.0 触摸区域宽度
gestureHeight CGFloat 50.0 触摸区域高度
其他
属性 类型 描述
setup 函数 如果您需要更新视图(气泡、滑块、滚动条),则可以使用它

关于

该项目由Frichti, Inc.维护。
我们正在制作美味的鲜食。

许可证

FastScroll在MIT许可证下发布。有关详细信息,请参阅LICENSE