_UILayoutGuide bottomLayoutGuide 长度为零

Posted

技术标签:

【中文标题】_UILayoutGuide bottomLayoutGuide 长度为零【英文标题】:_UILayoutGuide bottomLayoutGuide length is zero 【发布时间】:2013-10-16 09:25:39 【问题描述】:

我在 UILayoutGuide 中遇到了一个非常奇怪的行为。 bottomLayoutGuide.length 在向 length 属性发送消息时返回 0。

同时在控制台打印bottomLayoutGuide返回如下:

<_UILayoutGuide: 0x9ad9c60; frame = (0 455; 0 0); hidden = YES; layer = <CALayer: 0x9ab8200>>

明确说明UILayoutGuide的frame长度是455。

直接通过打印长度

p [((_UILayoutGuide*)self.bottomLayoutGuide) length]

返回

(float) $12 = 0

【问题讨论】:

【参考方案1】:

检查您的 Tab- 或 ToolBar 是否设置为半透明 - 不透明栏的行为类似于 ios 6 下的行为。

提供由半透明或透明 UIKit 条覆盖的视图控制器视图部分的长度(以磅为单位)

UILayoutSupport Protocol Reference

【讨论】:

【参考方案2】:

指南的长度是从它所代表的边缘开始的。因此,如果底部参考线的高度为 455px,而视图的高度为 455px,则参考线的长度为 0px。

【讨论】:

以上是关于_UILayoutGuide bottomLayoutGuide 长度为零的主要内容,如果未能解决你的问题,请参考以下文章

在 Swift 中,如何在视图控制器中找到 UILayoutGuide 对象?

iOS 7 与 iOS 8 自动布局问题

在 iPhone X 上横向使用最大屏幕

Interface Builder中的UIView`readableContentGuide`?

iOS UIStackView 单独改变 UIViews 的间距

ios swift custom uitablecell如何放置几个项目(标签,图片)