我似乎找不到关于 SO 的正确答案。我正在尝试旋转子类 UISlider 并应用约束以正确定位它,但似乎无法使其正常工作。在 XIB 中,它有限制,因此我没有任何错误显示问题。 (老板讨厌显示错误)。所以我先去掉约束。
我的代码如下所示:
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)
运行后,框架看起来像这样(灰色和橙色垂直虚线之间的白色区域是拇指):
它没有正确的宽度/高度,并且未与左侧的 deviceIcon 底部对齐。 (我认为它可能是与 deviceIcon 的适当距离,我不知道。)
我怎样才能正确地做到这一点?
Best Answer-推荐答案 strong>
所以答案是:不要。只需调整现有的前导和底部约束,使旋转的 slider 位于正确的位置。
关于ios - 如何为旋转的 UISlider 设置约束?,我们在Stack Overflow上找到一个类似的问题:
https://stackoverflow.com/questions/37306316/
|