UIView在切换到横向后改变宽度?

时间:2010-11-16 12:16:36

标签: iphone ipad resize orientation

我有一个带有2个子视图的UIView。 UIView设置为UIViewAutoresizingFlexibleWidth。现在,当它进入layoutSubviews时,它会调整相对于UIView的子视图的帧,如下所示:

rect.size.width  = self.frame.size.width - rect.origin.x - textLabel.frame.origin.x;

但在横向模式下出现问题导致在纵向模式下self.frame.size.width(以及该问题的界限)在开始时响应768,在旋转完成后响应788。它旋转时的含义似乎是添加了20个像素,我假设它是状态栏。

当我硬编码768时,它按预期工作。但我当然不希望这样。我可以将初始状态存储到var并使用它,但我不认为这是正确的方法。

任何人都有解决方案吗?

1 个答案:

答案 0 :(得分:0)

问候,

在我的应用程序中,我一直面临同样的问题。要解决此问题,我只需使用didRotateFromInterfaceOrientation:方法在设备旋转时调整视图大小。

self.view.frame = CGRectMake(0,0,self.view.bounds.size.width,self.view.bounds.size.height);

希望这会有所帮助。