这就是我希望我的 ui 滑块受到限制的方式。
但是滑块不是垂直的。为了使其垂直,我必须使用 sliderX.transform = CGAffineTransform(rotationAngle: CGFloat(-Double.pi / 2)) 但这会弄乱约束。有什么方法可以将滑块与同一位置进行对比,但切换滑块的方向。下面是当前代码的样子。
您可以在旋转之前考虑视图的框架。想象一下一个水平滑块,你应该把它放在屏幕上的什么位置,它应该有多长,这样当它旋转 90 度时,它看起来就是你想要的样子?
例如,您可以添加以下约束:
let slider = UISlider(frame: .zero)
slider.minimumValue = 0
slider.maximumValue = 1
slider.value = 0.5
slider.translatesAutoresizingMaskIntoConstraints = false
view.addSubview(slider)
slider.transform = .init(rotationAngle: .pi / 2)
NSLayoutConstraint.activate([
slider.centerXAnchor.constraint(equalTo: view.safeAreaLayoutGuide.trailingAnchor, constant: -30),
slider.centerYAnchor.constraint(equalTo: view.safeAreaLayoutGuide.centerYAnchor),
slider.widthAnchor.constraint(equalTo: view.safeAreaLayoutGuide.heightAnchor)
])