1

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

有没有办法阻止这些值被四舍五入?

谢谢

乔恩

4

1 回答 1

2

您可以继承 UIImageView 并实现layoutSubviews在子视图上手动执行布局,而不是使用自动调整大小。当 UIImageView 的 frame 改变时,这个方法会被自动调用。

但是请记住,自动调整大小的行为是有原因的。帧不完整的视图可能无法正确显示(因为由于硬件的物理限制,显示是按像素量化的,并且一个点只有一个像素 - 或者,在双分辨率屏幕上,两个像素到一个点)。所以自动调整大小机制可能需要NSRectIntegral()你——最终你可能想自己调用它。

于 2013-02-13T01:46:25.977 回答