如果我正確理解你的問題,你可以使用的方法willRotateToInterfaceOrientation:duration:
在UIViewController中。
之後你可以用IB 2個UIView的變量,將它們設置連接:
IBOutlet UIView *view1;
IBOutlet UIView *view2;
然後,在willRotateToInterfaceOrientation:duration:
可以交換意見。假設你的ItemController是的UIViewController的子類,你可以有這樣的事情:
- (void)willRotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration
{
if (toInterfaceOrientation == UIInterfaceOrientationLandscapeLeft) || (toInterfaceOrientation == UIInterfaceOrientationLandscapeRight) {
[self setView:view1];
}
else {
[self setView:view2];
}
}
當用戶旋轉iPad的這種方法會自動調用。
注意:請確保將shouldAutorotateToInterfaceOrientation:
設置爲返回YES
,並且您可能必須檢查方向以將視圖屬性設置爲最初的正確視圖。
編輯:我的答案是假設你有不同的佈局/元素的兩個視圖,而不是兩個視圖基本上爲不同的方向大小相同的事情。如果後者是這種情況,那麼只用一個視圖就可能有更好的方法。