在swift中,根据UISlider位置移动视图的正确方式是什么?

在swift中,根据UISlider位置移动视图的正确方式是什么?,swift,view,slider,move,Swift,View,Slider,Move,我在屏幕上有一个垂直视图和一个相邻的垂直滑块。它们的大小几乎相同。我希望此视图根据滑块的位置移动。我试着这样做: if oldValue < Int(sender.value) { viewToMoveTopYConstreint.constant = viewToMoveTopYConstreint.constant - heightOfMovement oldValue = Int(sender.value) } else if oldValue

我在屏幕上有一个垂直视图和一个相邻的垂直滑块。它们的大小几乎相同。我希望此视图根据滑块的位置移动。我试着这样做:

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)
    }
如果oldValueInt(sender.value),则为else{
viewToMoveTopYConstreint.constant=viewToMoveTopYConstreint.constant+移动高度
oldValue=Int(sender.value)
}
移动高度是移动我的视图的值,例如5点

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


我知道我可以试着用“for in”来做这件事,但我想知道有没有更熟练的方法来做这件事。

我想问题是,你没有使用滑块
属性,而是只添加一些
移动高度
(除了你之外,没有人知道这个值来自哪里)

我认为以下几点更为直截了当:

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