UIViewcontroller在横向模式下保持纵向坐标

时间:2013-12-09 23:11:58

标签: uiviewcontroller coordinates landscape

我有一款旨在以横向模式启动的应用,这一切都运行正常。我添加了一个imageview来覆盖屏幕,然后在中途添加一个scrollview。一切都很好。

然后我再次添加一系列uiimageviews。我注意到,如果我尝试单击最右边的图像没有响应,但此工作之前的其他图像很好。经过大量挖掘,我发现视图控制器保持纵向坐标。当我点击进入另一个视图然后返回主视图时,我在底部有一个标签栏,最右边的uiimageview不起作用。谁看过这个吗?我猜这个视图会在它回来时重新绘制?

2 个答案:

答案 0 :(得分:0)

您应该使用.bounds属性而不是视图的.frame属性。 Bounds尊重UIVIew的坐标系。 这个答案很好地解释了这一点:https://stackoverflow.com/a/8181113/402223

答案 1 :(得分:0)

请参阅此文章,该文章回答了我的问题here

- (void)viewDidLayoutSubviews
{
    // fix for iOS7 bug in UITabBarController
    self.selectedViewController.view.superview.frame = self.view.bounds;
}

注意不要将它添加到viewdidload方法。

谢谢Martijn,你让我走上正轨。