如何自动旋转自己的自定义视图?

时间:2010-09-09 14:12:37

标签: iphone uiview autorotate

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

我已经尝试在旋转之前和之后重新绘制,但它并没有让我顺利旋转。

我看着UITextField以慢动作自动旋转(柔性宽度),并在旋转过程中完美地跟随边缘。这就是我希望我的观点,所以我该怎么做?我的观点在轮换之前或之后都会跳到正确的位置。

2 个答案:

答案 0 :(得分:1)

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

[self setContentStretch:CGRectMake(0.5, 0.5, 0.0, 0.0)];

答案 1 :(得分:0)

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