【问题标题】:What is the proper way to move view according to UISlider position in swift?根据 UISlider 位置快速移动视图的正确方法是什么?
【发布时间】:2020-02-20 19:15:20
【问题描述】:

我在屏幕上有一个垂直视图和一个垂直滑块,它们彼此相邻。它们的大小几乎相同。我希望这个视图根据滑块的位置移动。我正在尝试这种方式:

if oldValue < Int(sender.value) {
        viewToMoveTopYConstreint.constant = viewToMoveTopYConstreint.constant - heightOfMovement
        oldValue = Int(sender.value)
    } else if oldValue > Int(sender.value) {
        viewToMoveTopYConstreint.constant = viewToMoveTopYConstreint.constant + heightOfMovement
        oldValue = Int(sender.value)
    }

heightOfMovement 是移动我的视图的价值 - 例如。 5分

如果我缓慢移动滑块,视图会非常准确地移动,但如果我快速移动,视图会移动,就像我只更改了一个值而不是二十个一样。

我知道我可以尝试使用“for in”来完成,但我想知道是否有更熟练的方法来做到这一点。

【问题讨论】:

    标签: swift view slider move


    【解决方案1】:

    我认为问题在于您没有使用滑块value 属性,而是只添加了一些heightOfMovement(除了您之外没有人知道这个值的来源)。

    我认为以下内容会更直接:

    • 将viewToMoveTopYConstreint 重命名为viewToMoveTopYConstraint(只是拼写错误:-)
    • 将滑块的minValue设置为0
    • 将滑块的maxValue 设置为要移动的视图的高度
    • 在您的 @IBAction 中执行以下操作:
        viewToMoveTopYConstraint.constant = sender.value
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-06-07
      • 1970-01-01
      • 2014-10-24
      • 1970-01-01
      • 2012-01-07
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多