一个swift版的刻度尺的实现.

WHRuler

效果图如下所示:

简单的使用方法如下所示,首先创建,然后做简单的配置,遵循代理,从代理中可以拿到刻度尺变化的值.

// delegate
func configUI() {

let sweetRuler = SweetRuler(frame: CGRect(x: 10,y: 100,width: 300,height: 40))
view.addSubview(sweetRuler)
sweetRuler.figureRange = Range(uncheckedBounds: (500,30000))
sweetRuler.setSelectfigure(figure: 18000)
sweetRuler.delegate = self
}

///刻度尺代理方法
func sweetRuler(ruler: SweetRuler,figure: Int){

print("\t\tfigure: \(figure)")
}

可配置的选项如下所示:

/// 刻度尺表示的范围
var figureRange = Range(uncheckedBounds: (1000,10000))
/// 尺子的长度
var rulerLength: Double = 300
/// 刻度的宽度,刻度之间的间隔
var dialBlank: Double = 10.0
/// 刻度分割最小的高度
var dialMinHeight: Double = 8
/// 刻度分割最大的高度
var dialMaxHeight: Double = 13
/// 刻度的颜色
var dialColor: UIColor = UIColor.gray
/// 每个刻度表示的宽度
var dialSpan: Int = 100
/// 文字颜色
var textColor: UIColor = UIColor.lightGray

代码详见github: https://github.com/hell03W/WHRuler

相关文章

软件简介:蓝湖辅助工具,减少移动端开发中控件属性的复制和粘...
现实生活中,我们听到的声音都是时间连续的,我们称为这种信...
前言最近在B站上看到一个漂亮的仙女姐姐跳舞视频,循环看了亿...
【Android App】实战项目之仿抖音的短视频分享App(附源码和...
前言这一篇博客应该是我花时间最多的一次了,从2022年1月底至...
因为我既对接过session、cookie,也对接过JWT,今年因为工作...