如何在 nslayout 约束中旋转对象集
how to rotate a object set in nslayout constraints
我下面的 swift 代码是将对象旋转 45 度角。我下面的代码对旋转没有影响。我知道我可以旋转它我只是创建一个框架但我需要约束。我不确定这是否可能,但我想它可能是。我所有的代码都在下面,不需要情节提要。我试着在 box.transform 行给它评分。
import UIKit
class ViewController: UIViewController {
var box = UIImageView()
override func viewDidLoad() {
super.viewDidLoad()
box.translatesAutoresizingMaskIntoConstraints = false
view.addSubview(box)
box.backgroundColor = .red
box.transform = box.transform.rotated(by: .pi)
NSLayoutConstraint.activate([
box.widthAnchor.constraint(equalTo: view.widthAnchor, multiplier: 0.25),
box.heightAnchor.constraint(equalTo: view.heightAnchor, multiplier: 0.5),
box.centerXAnchor.constraint(equalTo: view.centerXAnchor),
box.centerYAnchor.constraint(equalTo: view.centerYAnchor),
])
}
}
此处将 box
旋转 pi
得到相同的输出,因为它旋转了 180 度。而 box
倒过来看起来是一样的。如果您尝试将 box
旋转 45 度,则
替换为:
box.transform = box.transform.rotated(by: .pi)
有了这个:
box.transform = box.transform.rotated(by: .pi/4)
我下面的 swift 代码是将对象旋转 45 度角。我下面的代码对旋转没有影响。我知道我可以旋转它我只是创建一个框架但我需要约束。我不确定这是否可能,但我想它可能是。我所有的代码都在下面,不需要情节提要。我试着在 box.transform 行给它评分。
import UIKit
class ViewController: UIViewController {
var box = UIImageView()
override func viewDidLoad() {
super.viewDidLoad()
box.translatesAutoresizingMaskIntoConstraints = false
view.addSubview(box)
box.backgroundColor = .red
box.transform = box.transform.rotated(by: .pi)
NSLayoutConstraint.activate([
box.widthAnchor.constraint(equalTo: view.widthAnchor, multiplier: 0.25),
box.heightAnchor.constraint(equalTo: view.heightAnchor, multiplier: 0.5),
box.centerXAnchor.constraint(equalTo: view.centerXAnchor),
box.centerYAnchor.constraint(equalTo: view.centerYAnchor),
])
}
}
此处将 box
旋转 pi
得到相同的输出,因为它旋转了 180 度。而 box
倒过来看起来是一样的。如果您尝试将 box
旋转 45 度,则
替换为:
box.transform = box.transform.rotated(by: .pi)
有了这个:
box.transform = box.transform.rotated(by: .pi/4)