0

我找到了适用于 Android 的问题,但找不到适用于 Xcode 的问题,因此我创建了一个新问题。

我有一个具有三个子视图的 VC。在横向模式 -> 图像视图(左),图像细节视图(中心)和右侧的相关项目表视图。在纵向模式下,图像视图保留在左上角,图像细节保留在右上角,但相关的表格视图位于图像视图下方。我正在通过以下代码处理轮换。

 - (void) updateLayoutForNewOrientation: (UIInterfaceOrientation) orientation {
  CGRect detailsFrame = self.detailsView.frame;
  CGRect relatedFrame = self.relatedView.frame;
  if (UIInterfaceOrientationIsLandscape(orientation)) {
    detailsFrame.origin.x = 300.0f;
    detailsFrame.origin.y = 69.0f;
    relatedFrame.origin.x = 709.0f;
    relatedFrame.origin.y = 20.0f;
} else {
    detailsFrame.origin.x = 330.0f;
    detailsFrame.origin.y = 50.0f;
    relatedFrame.origin.x = 10.0f;
    relatedFrame.origin.y = 400.0f;
}
self.detailsView.frame = detailsFrame;
self.relatedView.frame = relatedFrame;
 }

现在我的问题是我可以在横向模式下单击表格单元格或图像视图,但不能在纵向模式下单击表格视图单元格。我花了足够的时间找出可能出了什么问题,但找不到任何解决方案。

4

1 回答 1

1

方向也在 xib 而不是代码中处理。所以请在界面生成器中设置正确的自动调整大小掩码。请查看图表以更好地理解。

自动调整蒙版
如果您有疑问,请问我。

于 2012-12-14T04:35:52.717 回答