こんにちは、これは制約を追加するためのコードを使用して私の最初の時間です。私は通常、インターフェイスビルダーを使用します。私は視覚的に制約を加えて混合すると、コード化された制約に干渉していると思う前に、垂直UISliderを追加しようとしています。私は今、私のコードを更新して、この特定のビューコンテナでのみコードを使用して制約を作成するこの質問。
私が行ったことは、別のビューのすぐ下にビューを作成したことです。私は3つの小さなビューを作成し、上記のビュー内のテキストフィールドの幅に一致させてから、テキストフィールドがどのように間隔を置いているかと同じように配置しました。
テスト目的のために、私はこれらの3つの小さなビューに、動作しているかどうかを確認するための色を付けました。
実際にこのアプリを終了すると、赤色、緑色、青色の表示がクリアされます。私が欲しかった唯一の理由は、スライダを作成するときに、それぞれをビューの中心に制限することができます...テキストフィールド上のラベルがどのように制約されているかです。ここで
今すぐ
// Mark: Hidden View
let leftHiddenView = UIView()
let centerHiddenView = UIView()
let rightHiddenView = UIView()
let hiddenViews = [leftHiddenView, centerHiddenView, rightHiddenView]
for views in hiddenViews {
views.translatesAutoresizingMaskIntoConstraints = false
sliderContainer.addSubview(views)
views.backgroundColor = .white
let widthConstraint = views.widthAnchor.constraint(equalToConstant: 35)
let heightConstraint = views.heightAnchor.constraint(equalToConstant: 5)
NSLayoutConstraint.activate([widthConstraint, heightConstraint])
}
let centerViewHorizontalConstraint = centerHiddenView.centerXAnchor.constraint(equalTo: sliderContainer.centerXAnchor)
let centerViewTopConstraint = centerHiddenView.topAnchor.constraint(equalTo: sliderContainer.topAnchor, constant: 50)
NSLayoutConstraint.activate([centerViewHorizontalConstraint, centerViewTopConstraint])
let leftViewVerticalCenterConstraint = leftHiddenView.centerYAnchor.constraint(equalTo: centerHiddenView.centerYAnchor, constant: 0)
let leftViewTrailingConstraint = leftHiddenView.trailingAnchor.constraint(equalTo: centerHiddenView.leadingAnchor, constant: -60)
NSLayoutConstraint.activate([leftViewVerticalCenterConstraint, leftViewTrailingConstraint])
let rightViewVerticalCenterConstraint = rightHiddenView.centerYAnchor.constraint(equalTo: centerHiddenView.centerYAnchor, constant: 0)
let rightViewTrailingConstraint = rightHiddenView.leadingAnchor.constraint(equalTo: centerHiddenView.trailingAnchor, constant: 60)
NSLayoutConstraint.activate([rightViewVerticalCenterConstraint, rightViewTrailingConstraint])
を働き、この ためのコードですが、私は垂直としてUISliderを追加し始めました。以前に起こったこととまったく同じことが今起こった。
あなたはすべての休憩を見ることができるように。ここで
は、これまで実行時の制約を加えることで設計時間の制約をMISCはいけない、これまでその// 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
}
let centerSliderHorizontalConstraints = centerSlider.centerXAnchor.constraint(equalTo: sliderContainer.centerXAnchor)
NSLayoutConstraint.activate([centerSliderHorizontalConstraints])
私はそれ自身のコンテナだけでなく、別のコンテナを壊すことも意味します – RubberDucky4444