OBSlider-Goonbee 1.1.1

OBSlider-Goonbee 1.1.1

测试已测试
Lang语言 Obj-CObjective C
许可证 MIT
发布最后一个版本2014年12月

Luka Mirosevic 维护。



  • Luka Mirosevic

OBSlider

一个继承自 UISlider 的控件,为 UISlider 添加了可变快进/快退速度(如在 iOS 上的 iPod 应用中看到的那样)。

Ole Begemann 所著,2011年1月。

使用

OBSlider.hOBSlider.m 复制到您的项目中,并在您原本会使用 UISlider 的任何地方实例化一个 OBSlider。如果您在 Interface Builder 中创建了滑块,请在“标识”选项卡上将它的类设置为 OBSlider

滑块可以自动使用可变快进/快退速度。在您分配给 UIControlEventValueChanged 的操作方法中,可以通过访问 scrubbingSpeed 变量来获取当前的快进/快退速度。 Scrubbing快进/快退速度是一个float,其中 1.0f 是正常快进/快退速度。

要修改用户触摸的垂直偏移位置处的快进/快退速度,可以修改 scrubbingSpeedsscrubbingSpeedChangePositions 数组。这两个数组应包含相同数量的对象。scrubbingSpeedChangePositions 应该按顺序指示应发生快进/快退速度变化的垂直偏移量。此数组的第一个条目始终应该是 [NSNumber numberWithFloat:0.0f]scrubbingSpeeds 应包含与偏移量相对应的实际快进/快退速度值。

这两个数组的默认值如下

scrubbingSpeeds = [NSArray arrayWithObjects:
 [NSNumber numberWithFloat:1.0f],
 [NSNumber numberWithFloat:0.5f],
 [NSNumber numberWithFloat:0.25f],
 [NSNumber numberWithFloat:0.1f],
 nil];

scrubbingSpeedChangePositions = [NSArray arrayWithObjects:
 [NSNumber numberWithFloat:0.0f],
 [NSNumber numberWithFloat:50.0f],
 [NSNumber numberWithFloat:100.0f],
 [NSNumber numberWithFloat:150.0f],
 nil];

(即当用户将手指上下移动 50.0/100.0/150.0 个点时,快进/快退速度分别从 100% 变为 50%,再变为 25%,最后变为 10%)

需求

OBSlider 1.0.0 (标记为 1.0.0) 适用于 iOS 3.0 及以上版本。

版本 1.1.0(标记为 1.1.0)已将源代码转换为自动引用计数(ARC),并将演示应用的部署目标提高到 iOS 5.0。如果您希望支持较早的 iOS 版本,请查看 1.0.0 标签。

演示

在 Xcode 中打开演示项目 OBSliderDemo.xcodeproj 并在 iPhone 或 iPhone 模拟器上运行。拖动滑块,并在拖动过程中上下移动手指以调节快进/快退速度。

未测试

该类基本上未经过测试。请通过 GitHub 上的问题跟踪器报告错误。

许可证

在 MIT 许可证下发布。您可以在您的商业和非商业项目中使用此代码。

贡献者

谢谢!