【问题标题】:UIViewcontroller keeps portrait coordinates when in landscape modeUIViewcontroller 在横向模式下保持纵向坐标
【发布时间】:2013-12-09 23:11:58
【问题描述】:

我有一个旨在以横向模式启动的应用程序,这一切都很好。我添加一个图像视图来覆盖屏幕,然后在中途添加一个滚动视图。再次一切正常。

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

【问题讨论】:

    标签: uiviewcontroller coordinates landscape


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

      看到这篇回答了我的问题的文章here

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

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

      感谢 Martijn,您让我走上了正轨。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2015-08-23
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-06-08
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多