我發現通常可以按照您的預期工作。事情要考慮在回調您使用回暖旋轉,有3個,它們服務於一個稍微不同的目的
- (void)willAnimateRotationToInterfaceOrientation:(UIInterfaceOrientation)orientation duration:(NSTimeInterval)duration
這可能是你要使用的一個,在這一點上,當你查詢self.view.frame
(或任何你用來獲得超級幀),它將返回幀將旋轉完成後的值。它也考慮到了自動調整大小,並且它在之前給出了這個發生了旋轉(即沒有可見的效果)。用它來計算視圖的所有新位置和大小並設置它們。
- (void)willRotateToInterfaceOrientation:(UIInterfaceOrientation)orientation duration:(NSTimeInterval)duration
這告訴你的旋轉將要發生,但仍返回框架當前的方向,對隱藏/顯示有益的意見,但不能用於計算新的位置!
- (void)didRotateFromInterfaceOrientation:(UIInterfaceOrientation)fromInterfaceOrientation
這就是所謂的一次轉動完成後,返回新的大小和框架,但如果你試圖重新定位的觀點在這裏,他們看起來好像他們是跳來跳去轉動完成後。
我還建議玩自動調整大小,因爲這可能是一個真正的婊子。我有時會在代碼中設置自動調整大小,並在xib尖括號中確保沒有有趣的業務!
如果矩形嵌套在他們應該自動旋轉視圖控制器(你可能知道,只是覺得我添加它的情況下)
真棒謝謝。我開始脫離軌道。我發現的一部分問題是有一個iOS 6的構建目標,由於棄用而沒有激發我所有的方法。 – HCdev