首页 > 解决方案 > 如何获取视图内 UISlider 的绝对位置

问题描述

我创建了一个包含很多滑块的子视图

var sliderArea = UIView()

sliderArea = UIView(frame: CGRect(x: 300, y: 400, width: 500, height: 100)
view.addSubview(sliderArea)

mySlider1 = setUpSlider(sliderNr: 1, ypos: 30)
mySlider2 = setUpSlider(sliderNr: 2, ypos: 30)
mySlider3 = setUpSlider(sliderNr: 3, ypos: 30)

sliderArea.addSubview(mySlider1)
sliderArea.addSubview(mySlider2)
sliderArea.addSubview(mySlider3)

我有很多类似于“sliderArea”的子视图,以便能够在布局自动采用时快速更改我的滑块现在我需要知道每个滑块的绝对位置在哪里,以便在其顶部放置按钮。我需要将所有这些按钮放在一个额外的视图中。有任何想法吗?谢谢你

标签: swiftuislider

解决方案


您应该使用这种 CGRect 方法将滑块框架转换为的坐标系:window

https://developer.apple.com/documentation/uikit/uiview/1622504-convert

只需将nil作为第二个参数传递,它就会返回一个绝对帧。


推荐阅读