更改方向后,Xcode视图不处理单击事件

时间:2012-12-13 23:17:52

标签: objective-c xcode interface-builder storyboard uiinterfaceorientation

我找到了Android的问题,但是找不到Xcode,所以我创建了一个新问题。

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

 - (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;
 }

现在我的问题是我可以在横向模式下单击表格单元格或图像视图,但无法在纵向模式下单击tableview单元格。我花了足够的时间搞清楚可能出现的问题,但找不到任何解决办法。

1 个答案:

答案 0 :(得分:1)

方向也在xib而不是代码中处理。因此,请在界面构建器中设置正确的自动调整掩码。请参阅图表以便更好地理解。

autoresizing masks
如果您有疑问,请问我。