Я создаю вертикальный 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