我有一个UIView,其高度应始终是宽度的1.5倍。当视图自动调整大小时(在这种情况下,因为iPhone被旋转),这个比例会搞砸。如何在视图调整大小时确保高度/宽度比不会改变?
答案 0 :(得分:1)
您需要将视图autoresizingMask
属性设置为UIViewAutoresizingNone
。当父视图的大小发生变化时(例如手机旋转时),这将防止视图的大小发生变化。如果您希望视图在旋转时调整大小,但保持其宽高比(例如,如果您希望更宽)在横向但仍然是1:1.5),那么你需要在视图控制器的willRotateToInterfaceOrientation:duration:
方法中将视图的框架自己设置为所需的尺寸(但保持所需的比例)。
答案 1 :(得分:1)
您可以为视图实施the -sizeThatFits:
method以保持大小成比例。
答案 2 :(得分:0)
或者,您可以使用实现- (void)layoutSubviews
的自定义超级视图来完全控制布局。