2

我了解到,获得优雅旋转的最佳方法是在要调整大小或移动的视图上设置自动旋转蒙版。如果您使用像 UILabel 这样的 SDK 视图,这可以正常工作,但如果您有自己的自定义视图并使用 drawRect 方法,则它不会优雅地旋转。事实上,唯一发生的事情是它会拉伸你在 drawRect 中绘制的任何内容。

我试过在旋转前后都重绘,但它并没有给我带来平滑的旋转。

我在慢动作中查看了 UITextField 自动旋转(灵活宽度),它在旋转过程中完美地跟随边缘。这就是我希望我的视图做的事情,那么我该怎么做呢?我的视图在旋转之前或之后跳到正确的位置。

4

2 回答 2

1

以下行将使您的 UIView 仅拉伸中间像素。如果这不是您想要的行为,我建议您阅读 contentStretch 的文档以了解如何操作 CGRect 的值。

[self setContentStretch:CGRectMake(0.5, 0.5, 0.0, 0.0)];
于 2010-09-14T12:26:47.693 回答
0

我猜UITextField你正在看的至少有三个子视图,一个显示字段边框的左大写,一个显示右大写,一个显示中间,带有“灵活右边距”、“灵活”的自动调整大小的掩码左边距”和“灵活宽度”。如果您设置了类似的自定义视图,并确保其autoresizesSubviews属性设置为YES,那么您应该获得与文本字段相同的平滑调整大小。

于 2010-09-09T17:10:09.410 回答