Iphone 如何按比例自动调整UIView的大小?

Iphone 如何按比例自动调整UIView的大小?,iphone,cocoa-touch,ipad,uikit,uiview,Iphone,Cocoa Touch,Ipad,Uikit,Uiview,我有一个UIView,它的高度应该总是正好是宽度的1.5倍。当视图自动调整大小时(在本例中,因为iPhone是旋转的),这一比例会变得混乱。如何确保高度/宽度比不会随着视图大小的改变而改变?您需要将视图自动ResizingMask属性设置为UIViewAutoResizingOne。这将防止在父视图的大小发生变化时(如手机旋转时)视图的大小发生任何变化。如果您希望视图在旋转时调整大小,但保持其纵横比(例如,如果您希望视图在横向中更宽,但仍然为1:1.5),则需要将视图的框架设置为所需的尺寸(但保

我有一个UIView,它的高度应该总是正好是宽度的1.5倍。当视图自动调整大小时(在本例中,因为iPhone是旋转的),这一比例会变得混乱。如何确保高度/宽度比不会随着视图大小的改变而改变?

您需要将视图
自动ResizingMask
属性设置为
UIViewAutoResizingOne
。这将防止在父视图的大小发生变化时(如手机旋转时)视图的大小发生任何变化。如果您希望视图在旋转时调整大小,但保持其纵横比(例如,如果您希望视图在横向中更宽,但仍然为1:1.5),则需要将视图的框架设置为所需的尺寸(但保持所需的比率)在视图控制器的
willRotateToInterfaceOrientation:duration:
方法中。

您可以为视图实现以保持大小成比例。

或者,您可以使用实现
-(void)的自定义superviewLayoutSubview
可以完全控制布局