【问题标题】:iOS 9 Auto Layout Alignment Rect IssuesiOS 9 自动布局对齐矩形问题
【发布时间】:2015-10-23 12:30:01
【问题描述】:

所以我对 UIView 上的 frame 和 alignment rect 之间的区别有一个深刻的理解。然而,在实践中,这个概念似乎并不奏效。

我重写了alignmentRectInsets,它将根据我希望约束也应用的内容来插入框架。我看到框架进行了相应的调整;但是,约束会忽略对齐矩形并仍使用原始帧值。我错过了什么?我认为对齐矩形的重点是能够调整约束如何与特定内容对齐。在这种情况下,我希望它忽略右上角的“徽章”。调整插图并不能像我解释的那样工作......似乎alignmentRectInsets 属性只会改变框架,但不会影响约束。

此外,我尝试覆盖方法“alignmentRectForFrame”和“frameForAlignmentRect”。不幸的是,设置视图时不会调用这些方法,因此我无法以这种方式调整对齐矩形。

我确实将“translatesAutoResizingMask”设置为 false。视图和约束在 Interface Builder 中设置。我正在使用 Xcode 7.1 并运行 iOS 9.1。但是,在昨天升级之前,我在 Xcode 7 和 iOS 9 上看到了同样的问题。

任何关于对齐矩形的帮助或说明都会很棒。谢谢!

【问题讨论】:

    标签: ios autolayout interface-builder xcode7 ios-autolayout


    【解决方案1】:

    让我感到困惑的一件事是,在向子视图添加约束时,“超级视图”实际上代表对齐矩形,而不是视图的框架。因此,当您限制您的徽章时,您希望它在您的超级视图中向右,而不是被限制在其右上角。如果不清楚,您可能需要查看this blog post

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-11-08
      • 2014-12-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多