2
私はSOの適切な答えを見つけることができないようです。私はサブクラス化されたUISliderを回転させ、それを適切に配置するための制約を適用しようとしていますが、正しく動作するようには見えません。 XIBには、エラーの表示に問題がないように制約があります。 (ボスはエラーを嫌う)。だから私は最初に制約を取り除く。回転したUISliderに制約を設定するにはどうすればよいですか?
私のコードは次のようになります。
removeConstraints([sliderHeight, sliderWidth, sliderLeading, sliderBottom])
let rotation = CATransform3DMakeRotation(-CGFloat(M_PI_2), 0.0, 0.0, 1.0)
self.layer.transform = rotation
let views = ["slider":slider, "deviceIcon":deviceIcon]
var constraints = NSLayoutConstraint.constraintsWithVisualFormat("H:[deviceIcon]-8-[slider]", options: .DirectionLeadingToTrailing, metrics: nil, views: views)
constraints.append(NSLayoutConstraint(item: deviceIcon, attribute: .Bottom, relatedBy: .Equal, toItem: slider, attribute: .Bottom, multiplier: 1, constant: 0))
constraints.append(NSLayoutConstraint(item: slider, attribute: .Width, relatedBy: .Equal, toItem: nil, attribute: .NotAnAttribute, multiplier: 1, constant: 30))
constraints.append(NSLayoutConstraint(item: slider, attribute: .Height, relatedBy: .Equal, toItem: nil, attribute: .NotAnAttribute, multiplier: 1, constant: 115))
addConstraints(constraints)
それが実行されると、フレームは、この(グレーとオレンジの垂直ダッシュ間の白い部分が親指である)のようになります。
それ適切な幅/高さを持たず、その左側のデバイスIconの底に整列していません。 (がdeviceIconから適切な距離にあると思いますが、わかりません)
これを正しく行うにはどうすればよいですか?