IOS子视图自动调整舍入帧值

时间:2013-02-13 01:37:13

标签: ios ipad

我有一个UIImageView,它包含一组动态添加到其上的子视图。每个子视图都有非常精确的帧值。即,x = 114.252 y = 123.642宽度= 169.323高度= 35.3234。我需要这些精确的值。问题是如果我将UIImageView设置为自动调整子视图并在每个子视图上设置调整大小掩码然后更改UIImageView的框架,则每个子视图的框架都包含一个舍入结果。即身高变为35岁。

无论如何都要阻止这些值被舍入?

由于

乔恩

1 个答案:

答案 0 :(得分:2)

您可以对UIImageView进行子类化并实现layoutSubviews以在子视图上手动执行布局,而不是使用自动调整大小。当UIImageView的帧发生变化时,将自动调用此方法。

但请记住,自动调整的行为是出于某种原因。框架不是整数的视图可能无法正确显示(因为显示器,通过硬件的物理限制,由像素量化,并且一个点只有一个像素 - 或者,在双分辨率屏幕上,两个像素到点)。因此,自动调整机制可能会为您调用NSRectIntegral() - 最终您可能需要自己调用它。