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

时间:2010-06-30 17:31:19

标签: iphone cocoa-touch ipad uikit uiview

我有一个UIView,其高度应始终是宽度的1.5倍。当视图自动调整大小时(在这种情况下,因为iPhone被旋转),这个比例会搞砸。如何在视图调整大小时确保高度/宽度比不会改变?

3 个答案:

答案 0 :(得分:1)

您需要将视图autoresizingMask属性设置为UIViewAutoresizingNone。当父视图的大小发生变化时(例如手机旋转时),这将防止视图的大小发生变化。如果您希望视图在旋转时调整大小,但保持其宽高比(例如,如果您希望更宽)在横向但仍然是1:1.5),那么你需要在视图控制器的willRotateToInterfaceOrientation:duration:方法中将视图的框架自己设置为所需的尺寸(但保持所需的比例)。

答案 1 :(得分:1)

您可以为视图实施the -sizeThatFits: method以保持大小成比例。

答案 2 :(得分:0)

或者,您可以使用实现- (void)layoutSubviews的自定义超级视图来完全控制布局。