当用户左右滑动滑块时,我想计算0到50之间的数字。我使用的是一个公式,但没有成功。
(point.x + 100)/ 20
其中point.x是两个UIView之间使用locatioOfView:方法的CGPoint
after_create :notify_mod, :is_mod?
def notify_mod
# send notification to all other mods
end
注意:此处self.viewBaseSlider不是滑块,而是自定义视图。
有什么想法吗?
答案 0 :(得分:0)
您必须将location
从0到your-custom-view-width
之间的范围翻译为0到your-slider-max
(本例中为50)。
以下是我在swift
中的看法:
let maxPoints = 50
let customViewWidth = customView.frame.size.width
let pointWidth = Float(customViewWidth) / Float(maxPoints)
if let touch = touches.first {
let location = touch.location(in: customView)
let point = Int(roundf(Float(location.x) / pointWidth))
print("Selected \(point)")
}
以下是工作示例,灰色区域为customView
,控制台输出来自点击灰色区域的开头,中间和末尾: