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

本文介绍了一个Swift语言实现的UI组件SweetRuler,该组件为用户提供了一个可配置的刻度尺,支持设置刻度范围、长度、刻度宽度等属性,并通过代理模式获取刻度变化的值。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

转载于:https://my.oschina.net/whforever/blog/918266

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值