我希望以编程方式布局应该适合屏幕宽度的UILabel
,系统间距为左右插图。这是我的代码:
statusLabel.font = UIFont.systemFont(ofSize: UIFont.smallSystemFontSize)
statusLabel.numberOfLines = 0
statusLabel.translatesAutoresizingMaskIntoConstraints = false
view.addSubview(statusLabel)
statusLabel.topAnchor.constraint(equalTo: otherView.bottomAnchor, constant: 0),
statusLabel.leadingAnchor.constraintEqualToSystemSpacingAfter(view.safeAreaLayoutGuide.leadingAnchor, multiplier: 1),
statusLabel.trailingAnchor.constraintLessThanOrEqualToSystemSpacingAfter(view.safeAreaLayoutGuide.trailingAnchor, multiplier: 1),
statusLabel.bottomAnchor.constraint(equalTo: someOtherView.topAnchor, constant: 0)
结果如下:
标签按照预期使用系统间距作为左侧插图进行布局,但其trailingAnchor
似乎等于超级视图trailingAnchor
,而不是在系统之间添加系统间距他们俩。
我已尝试使用constraintEqualToSystemSpacingAfter
和constraintGreaterThanOrEqualToSystemSpacingAfter
,但得到了相同的结果。
关于如何在标签及其superview的尾随锚之间获得系统间距的任何想法?
答案 0 :(得分:1)
颠倒顺序就像这样
std::vector<int> foo();
std::vector<auto> a = foo(); // ok, a is a vector<int>
std::vector<auto&&> b = foo(); // error, int doesn't match auto&&
先查看&amp; statusLabel next。