根据 UISlider 位置快速移动视图的正确方法是啥?
Posted
技术标签:
【中文标题】根据 UISlider 位置快速移动视图的正确方法是啥?【英文标题】: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”来完成,但我想知道是否有更熟练的方法来做到这一点。
【问题讨论】:
【参考方案1】:我认为问题在于您没有使用滑块value
属性,而是只添加了一些heightOfMovement
(除了您之外没有人知道这个值的来源)。
我认为以下内容会更直接:
将viewToMoveTopYConstreint
重命名为viewToMoveTopYConstraint
(只是拼写错误:-)
将滑块的minValue
设置为0
将滑块的maxValue
设置为要移动的视图的高度
在您的 @IBAction
中执行以下操作:
viewToMoveTopYConstraint.constant = sender.value
【讨论】:
以上是关于根据 UISlider 位置快速移动视图的正确方法是啥?的主要内容,如果未能解决你的问题,请参考以下文章