我有一个带有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并使用它,但我不认为这是正确的方法。
任何人都有解决方案吗?
答案 0 :(得分:0)
问候,
在我的应用程序中,我一直面临同样的问题。要解决此问题,我只需使用didRotateFromInterfaceOrientation:
方法在设备旋转时调整视图大小。
self.view.frame = CGRectMake(0,0,self.view.bounds.size.width,self.view.bounds.size.height);
希望这会有所帮助。