gpt4 book ai didi

ios - 自动布局 : layoutMarginsGuide

转载 作者:可可西里 更新时间:2023-11-01 03:24:48 25 4
gpt4 key购买 nike

如何重写视觉格式

addConstraints(NSLayoutConstraint.constraintsWithVisualFormat("|-[label]-|", options: .AlignAllBaseline, metrics: nil, views: ["label": label]))
addConstraints(NSLayoutConstraint.constraintsWithVisualFormat("V:|-[label]-|", options: .AlignAllCenterX, metrics: nil, views: ["label": label]))

通过移动到布局指南(带边距)?

我试过了

label.topAnchor.constraintEqualToAnchor(layoutMarginsGuide.topAnchor).active = true
label.leftAnchor.constraintEqualToAnchor(layoutMarginsGuide.leftAnchor).active = true
label.bottomAnchor.constraintEqualToAnchor(layoutMarginsGuide.bottomAnchor).active = true
label.rightAnchor.constraintEqualToAnchor(layoutMarginsGuide.rightAnchor).active = true

但不起作用。甚至 layoutMarginsGuide.layoutFrame 也没有预期值(是的,我在 super 执行后在 layoutSubviews 中调用它)。设置了约束,但表现得好像利润率是零。它仅在布局边距设置为负时布局并给出预期的layoutFrame;这显然不是我想要的,但表明约束是通过边距指南设置的。看起来我错过了什么......

最佳答案

在我看来,layoutMarginsGuide 在 UIView 的 init 方法中还没有准备好。我也遇到了类似的问题,在 updateConstraints 中设置约束就可以了。仍在调查原因。

更新:我试图做的是在 View 被添加到 super View 之前设置 layoutMargins(在 init 中)。那没有用。起作用的是在 init 中设置约束,相对于 layoutMarginsGuide,但实际上是在 viewDidMoveToSuperView 中设置 layoutMargins。

关于ios - 自动布局 : layoutMarginsGuide,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32694124/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com