Sho Miyamoto
你是否曾想过,你不愿意伸出手去切换标签页或导航等?
如果是这样,你的用户也会有同样的想法。
这个完全简单的库提供另一个秘密滚动条,不需要伸展手指就可以完成操作。使用SHScroller,你可以通过向上或向下滑动屏幕右侧边缘来切换标签页。
具体来说,这是在屏幕最右边缘的一个不可见的视图(UIControl
)。当用户沿着右侧边缘滚动或滑动时,你可以实现一个由用户滑动触发的功能。
例如,UITabBarController
。正如你可以在下面的演示视频中看到,当用户沿着右侧的不可见滚动条向下滑动时,显示的标签页将切换到下一个标签页。在向上滑动时,之前的标签页将显示出来。
在GitHub上有一个演示项目,在这个项目中使用了UITabBarController
作为示例。查看一下。
SHScroller可以通过CocoaPods获取。要安装它,只需将以下行添加到您的Podfile中
pod "SHScroller"
首先初始化SHScroller。
在ViewController
的func 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 文件。