【发布时间】: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