SHScroller 1.0.0

SHScroller 1.0.0

测试已测试
Lang语言 SwiftSwift
许可证 MIT
发布上次发布2016年8月
SPM支持SPM

Sho Miyamoto维护。



  • 作者:
  • Sho Miyamoto

SHScroller

作者

Sho Miyamoto

描述

你是否曾想过,你不愿意伸出手去切换标签页或导航等?

如果是这样,你的用户也会有同样的想法。

这个完全简单的库提供另一个秘密滚动条,不需要伸展手指就可以完成操作。使用SHScroller,你可以通过向上或向下滑动屏幕右侧边缘来切换标签页。


具体来说,这是在屏幕最右边缘的一个不可见的视图(UIControl)。当用户沿着右侧边缘滚动或滑动时,你可以实现一个由用户滑动触发的功能。

例如,UITabBarController。正如你可以在下面的演示视频中看到,当用户沿着右侧的不可见滚动条向下滑动时,显示的标签页将切换到下一个标签页。在向上滑动时,之前的标签页将显示出来。

在GitHub上有一个演示项目,在这个项目中使用了UITabBarController作为示例。查看一下。

要求

  • Swift 2.2
  • Xcode 7.3

安装

SHScroller可以通过CocoaPods获取。要安装它,只需将以下行添加到您的Podfile中

pod "SHScroller"

使用

初始化

首先初始化SHScroller。

ViewControllerfunc viewDidLoad()中添加以下几行。

let scroller = SHScroller(superView: self.view)

self.view.addSubview(scroller)

设置由滚动触发的目标函数

同样在func viewDidLoad()中添加以下行。

scroller.addTarget(self, action: #selector(ViewController.changed), forControlEvents: .ValueChanged)

并将#selector()中的内容替换为你的函数。

触发函数

.addTarget()指定的关联函数。

func changed(scroller: SHScroller) {
    // e.g.
    self.selectedIndex += scroller.delta
}

您只能访问名为 delta 的属性,该属性只能读取。delta 可以取 1(向下滑动)或 -1(向上滑动)。

设置完成。

自定义

在初始化时,您还可以指定 sensitivity 数字和 range 如下。

  • sensitivity: Int 表示滑动的灵敏度,即会将多少个击中字段进行分割。默认值是 10
  • range: CGFloat 是击中区域的水平范围。在性能和减少对父视图影响之间取得平衡时,建议您保持默认值 15.0 或类似值。
let scroller = SHScroller(superView: self.view, sensitivity: 15, range: 20.0)

self.view.addSubview(scroller)

此外...以防左撇子用户的实现。

let scroller = SHScroller(superView: self.view, is_left: true)

self.view.addSubview(scroller)

评论

这是我第一次制作 OSS,我从今年四月开始,用 Python 作为我的第一门编程语言。虽然这个库很简单,但它对我而言是一次非常好的体验。请对我的任何有关 提示、建议、纠正 的事情提出意见,谢谢。

许可

SHScroller 在 MIT 许可下可用。有关更多信息,请参阅 LICENSE 文件。