iOS 7 和 iOS 8 上的不同帧高度

Posted

技术标签:

【中文标题】iOS 7 和 iOS 8 上的不同帧高度【英文标题】:Different frame heights on iOS 7 and iOS 8 【发布时间】:2015-06-26 20:27:06 【问题描述】:

所以基本上我试图根据其中的三个不同标签动态更改视图的高度。我使用_labelName_.frame.size.height 来获取所有三个的高度。这在 ios 8 中效果很好,但是在 iOS 7 中,一个返回 17(应该是 33),另外两个都返回 0,它们应该是 22.5 和 16.5。

我不知道为什么 iOS 7 和 iOS 8 返回不同的帧高度,任何帮助将不胜感激!

编辑:做了一些调试。事实证明,iOS 7 中的帧高度 0,但在 iOS 8 中不是。似乎 layoutSubviews 在 iOS 7 上的工作方式与在 iOS 8 上不同。layoutSubviews 的任何原因都会布置两个版本的子视图不同?

【问题讨论】:

【参考方案1】:

在设置文本之后访问框架之前尝试调用[_labelName_ sizeToFit]

【讨论】:

效果很好!谢谢您的帮助!我正在把头发拉出来!

以上是关于iOS 7 和 iOS 8 上的不同帧高度的主要内容,如果未能解决你的问题,请参考以下文章

iOS 7 和 iOS 8 中动态 UITableViewCell 的高度是不可能的

iOS 8、iOS 9、iOS 10 和 iOS 11 上的 UITabBar 的高度是多少?

ios 7和ios 6之间的ios进度条高度不同

iOS上的UITableViewCell自动高度不正确

根据文本动态获取UILabel的高度为iOS 7.0和iOS 6.1返回不同的值

iOS 8 和 7 上的视图框架不同