添加到子视图时,UIView 神秘地扩展了 1 个像素

Posted

技术标签:

【中文标题】添加到子视图时,UIView 神秘地扩展了 1 个像素【英文标题】:UIView mysteriously expand by 1 pix when added to as subview 【发布时间】:2010-09-13 11:26:54 【问题描述】:

我创建了一个由 UIView 组成的自定义“组件”,它被添加为任何可见视图的子视图。我发现奇怪的是,当它第二次添加到视图中时,宽度增加了 1 个像素。当它扩展背景图像并导致图像模糊时,这会导致问题。

任何想法为什么当添加到另一个视图时视图会扩大(或缩小)?

【问题讨论】:

在第二次添加组件之前,尝试打印组件框架值并确认值是否符合预期或增加1个像素。 还要确保父视图在添加视图和获得度量之间不会调整大小。 是的,我知道它被 1pix 扩展的原因是通过打印出尺寸值。我将遵循 VDesmedT 的建议——听起来可能是一个原因。 【参考方案1】:

问题可能与视图的位置有关。 也许其中一个故事会更清楚地说明这个问题:

Fixing Blurry Subviews

Why does a PNG image sometimes get blurry depending on its position in a view

【讨论】:

以上是关于添加到子视图时,UIView 神秘地扩展了 1 个像素的主要内容,如果未能解决你的问题,请参考以下文章

WKWebView 添加到子视图

将 NSArray 从 UIViewController 传递到子视图 [重复]

如何将数组发送到子视图然后打印到标签中?

Swift - 将目标添加到子视图内的 UIButton

将 UIViewController 的 UI 扩展到子 UIViewControllers

UIButton在添加到子视图时没有收到触摸,但在添加到主视图时会收到