首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >自动布局: layoutMarginsGuide

自动布局: layoutMarginsGuide
EN

Stack Overflow用户
提问于 2015-09-21 11:31:02
回答 4查看 4.4K关注 0票数 8

如何重写可视化格式

代码语言:javascript
复制
addConstraints(NSLayoutConstraint.constraintsWithVisualFormat("|-[label]-|", options: .AlignAllBaseline, metrics: nil, views: ["label": label]))
addConstraints(NSLayoutConstraint.constraintsWithVisualFormat("V:|-[label]-|", options: .AlignAllCenterX, metrics: nil, views: ["label": label]))

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

我试过了

代码语言:javascript
复制
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中称之为super)。约束是设置的,但其行为似乎是零裕度。它只在布局边距设置为负值时布局并给出预期的layoutFrame;这显然不是我想要的,但它演示了使用边距指南设置约束。看来我错过了什么..。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2015-12-08 00:55:48

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

更新:在将视图添加到superview之前(init中),我要做的是设置layoutMargins。那不管用。所做的工作是设置init中相对于layoutMarginsGuide的约束,但实际上是在viewDidMoveToSuperView中设置layoutMargins。

票数 15
EN

Stack Overflow用户

发布于 2016-10-30 22:38:40

我对此做了另一项研究,因为我们现在有了iOS 10。

  • 它还是不能可靠地工作。我的意思是在指定的初始化器中设置相对于布局边距指南的约束,而没有进一步的操作。
  • 如果框架大小为特定大小的>=布局边距,它工作得很好。
  • 否则,如果您将调用layoutMarginsGuide (即使是在print中,我们仍然在讨论初始化程序中的调用),您将破坏本指南,因此即使在以后的调用中(例如,在didMoveToWindow中),它也不会工作。您可以通过设置新layoutMargins来修复它(但新值必须与旧值不同)。

我认为这是一个错误,并将其归档(请将其归档,以便为修复提供优先排序)。

票数 7
EN

Stack Overflow用户

发布于 2018-04-12 08:55:51

实际上,我发现您可以在layoutMargins和约束中设置init,而不存在任何问题。

它只需要设置

self.translatesAutoresizingMaskIntoConstraints = false

(是的,self)

如果不这样做,任何约束都不会中断,尽管边距不能工作(在iOS 10中)

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32694124

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档