UIView在将方向切换为横向后更改宽度?

问题描述:

我得到了2个子视图的UIView。 UIView被设置为UIViewAutoresizingFlexibleWidth。现在,当它进入layoutSubviews它会调整相对于子视图UIView的,像这样的框架:UIView在将方向切换为横向后更改宽度?

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

但在横向模式的原因产生的问题纵向模式self.frame.size.width(和该范围问题)在开始时和788完成旋转后回应768。当它旋转时的含义似乎增加了20像素,我认为它是状态栏。

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

任何人都有解决方案?

问候,

在我的应用程序我一直面临同样的问题。为了解决这个问题,我简单地使用didRotateFromInterfaceOrientation:方法来调整设备旋转时的视图大小。

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

希望这会有所帮助。