ios - 在 UISlider 上获取值的 X、Y 位置
问题描述
我试图在 UISlider 轨道上获取特定值的 X、Y 位置,这样我就可以在用拇指移动滑块之前在该位置放置一个文本字段。我希望能够沿轨道放置多个文本字段,以显示该位置的值。
有人可以帮我实现这一目标吗?
谢谢
解决方案
let values: [Float] = [15, 30, 50, 70, 85]
for value in values {
guard (slider.minimumValue...slider.maximumValue).contains(value) else { continue }
let label = UILabel()
label.text = "\(value)"
view.addSubview(label)
label.translatesAutoresizingMaskIntoConstraints = false
let thumbRect = slider.thumbRect(forBounds: slider.bounds,
trackRect: slider.trackRect(forBounds: slider.bounds),
value: value)
let convertedThumbRect = slider.convert(thumbRect, to: view)
NSLayoutConstraint.activate([
label.centerXAnchor.constraint(equalTo: view.leadingAnchor, constant: convertedThumbRect.midX),
slider.topAnchor.constraintEqualToSystemSpacingBelow(label.bottomAnchor, multiplier: 1)
])
}
推荐阅读
- c# - 设置精度 c#
- javascript - Firestore 安全规则允许公开一个文档
- java - 当只给出 y 截距和斜率时,是否可以检查点“x”和“y”是否在一条线上?
- plugins - Jekyll 需要两个版本的同一个 gem
- c# - 如何更新 Entity Framework Core 中的单个属性
- android - 如何使用套接字从服务器读取数据?
- java - Java - 在某些集合方法规范中真的需要“扩展对象”吗?
- ruby-on-rails - 参数丢失或值为空:活动 Rails 4
- php - 如何从 Woocommerce 中的订单项目中获取产品 sku
- html - 需要背景大小属性的帮助