温馨提示:本文翻译自stackoverflow.com,查看原文请点击:objective c - How to set topAnchor constraint relative to the superview height
autolayout objective-c swift ios-autolayout

objective c - 如何设置相对于超级视图高度的topAnchor约束

发布于 2020-04-09 23:16:30

我有两种看法:toastViewviewtoastView是的子视图view我想toastView在y轴上定位view高度的80%如何使用代码中的常量来做到这一点?

我假设有一个类似的方法:

[toastView.topAnchor constraintEqualToAnchor:view.heightAnchor multiplier:0.8].active = YES;

但我不能混合NSLayoutDimension(宽度和高度)和NSLayoutYAxisAnchor(X和Y)


这是它在设计中的外观:

设计外观图

查看更多

提问者
Vasiliy Korchagin
被浏览
91
vacawama 2020-02-01 23:10

这里的关键是要设定最高toastView等于底部self.view一个乘数0.8

目标C:

[NSLayoutConstraint constraintWithItem: toastView attribute: NSLayoutAttributeTop
    relatedBy: NSLayoutRelationEqual toItem: self.view
    attribute: NSLayoutAttributeBottom multiplier: 0.8 constant: 0].active = YES;

迅速:

NSLayoutConstraint(item: toastView, attribute: .top, relatedBy: .equal,
  toItem: self.view, attribute: .bottom, multiplier: 0.8, constant: 0).isActive = true