在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