iPhone为自定义滑块计算0-50之间的数字

时间:2017-03-10 09:46:17

标签: ios iphone uiview

enter image description here

当用户左右滑动滑块时,我想计算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不是滑块,而是自定义视图。

有什么想法吗?

1 个答案:

答案 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,控制台输出来自点击灰色区域的开头,中间和末尾:

demo