В моей тестовой программе есть вертикальный вид стека, в его третьем подпредставлении (зеленый внизу) я хочу добавить красный прямоугольник в его центр. Я попытался привязать к centerXAnchor
и centerXAnchor
, но это не работает. Я подозреваю, что это потому, что зеленый вид не использует якорь X и Y, так как его размер и положение управляются вертикальным стеком. Как правильно расположить красный прямоугольник внутри зеленого вида? Вот мои коды и скриншоты:
class ViewController: UIViewController {
@IBOutlet var greenView: UIView!
override func viewDidLoad() {
super.viewDidLoad()
let testView = UIView(frame: CGRect(x: 0,y: 0,width: 50,height: 50))
testView.backgroundColor = .red
greenView.addSubview(testView)
greenView.translatesAutoresizingMaskIntoConstraints = false
testView.centerXAnchor.constraint(equalTo: greenView.centerXAnchor).isActive = true
testView.centerYAnchor.constraint(equalTo: greenView.centerYAnchor).isActive = true
}
}
Это раскадровка. Единственными ограничениями являются высота первого вида = высота второго вида и высота зеленого вида = 0,8 высоты StackView:
Это результат: