我正在創建垂直UISlider。我創建了使用所有代碼的視圖。 (其餘的故事板元素使用接口生成器進行約束)垂直UISlider約束
從我已閱讀的內容中,創建一個垂直UISlider,然後旋轉它給UISlider一個寬度。由於UISlider所在容器的高度因屏幕尺寸而異,我不想給它固定的高度(寬度)。
這是我在想什麼
// Mark: Slider View
let leftSlider = UISlider()
let centerSlider = UISlider()
let rightSlider = UISlider()
let colorSliders = [leftSlider, centerSlider, rightSlider]
for slider in colorSliders {
slider.translatesAutoresizingMaskIntoConstraints = false
sliderContainer.addSubview(slider)
let w = sliderContainer.bounds.width
slider.bounds.size.width = w
slider.center = CGPoint(x: w/2, y: w/2)
slider.transform = CGAffineTransform(rotationAngle: CGFloat(-M_PI_2))
slider.value = 0
slider.minimumValue = 0
slider.maximumValue = 255
let sliderTopConstraint = slider.topAnchor.constraint(equalTo: centerHiddenView.bottomAnchor, constant: 5)
let sliderBottomConstraint = slider.bottomAnchor.constraint(equalTo: sliderContainer.bottomAnchor, constant: 5)
NSLayoutConstraint.activate([sliderTopConstraint, sliderBottomConstraint])
slider.backgroundColor = .purple
slider.isEnabled = true
slider.isUserInteractionEnabled = true
}
let sliderContainerWidth: CGFloat = sliderContainer.frame.width
let centerSliderHorizontalConstraints = centerSlider.centerXAnchor.constraint(equalTo: sliderContainer.centerXAnchor)
let widthConstraint = centerSlider.widthAnchor.constraint(equalToConstant: sliderContainerWidth)
let centerSliderWidthConstraint = centerSlider.widthAnchor.constraint(equalToConstant: 90)
NSLayoutConstraint.activate([centerSliderHorizontalConstraints, centerSliderWidthConstraint, widthConstraint])
但是當我運行它,我得到這個
這遠遠比我今天早些時候有更好的。然而,我想滑塊是正常的寬度..以及看起來正常只是垂直
任何想法我錯過了什麼? (呵呵忽略小紫分支到左側,這是其他2個滑塊,我加入,但沒有限制呢。)
生病通過我的錯誤日誌s,但上面提出的代碼根本沒有改進 – RubberDucky4444
我在一個空的項目中添加了一些示例代碼,請再次檢查我的答案! 我認爲你添加了太多的約束,因爲我不必使用添加額外約束的最後一行代碼。 –
完美,謝謝 – RubberDucky4444