Ich kann nicht scheinen, eine richtige Antwort auf SO zu finden. Ich versuche, ein Unterklasse-UISlider zu drehen und Constraints anzuwenden, um es korrekt zu positionieren, aber es scheint nicht zu funktionieren. In der XIB gibt es Einschränkungen, so dass ich keine Probleme mit der Fehleranzeige habe. (Boss hasst Fehler anzeigen). Also entferne ich zuerst die Einschränkungen.Wie setze ich Constraints auf einen gedrehten UISlider?
Mein Code sieht wie folgt aus:
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)
Sobald es läuft, die Rahmen wie folgt aussehen (weißer Bereich zwischen grau und orange vertikale Striche ist der Daumen):
Es hat nicht die richtige Breite/Höhe und ist nicht auf der Unterseite des deviceIcon auf der linken Seite ausgerichtet. (Ich denke es könnte der richtige Abstand von der deviceIcon sein, kann ich nicht sagen.)
Wie kann ich das richtig machen?