0

我有一個UIViewController,我正在編寫一個UINavigationBar。它可以在任何一個旋轉中找到,但是當我更改旋轉後,UINavigationBar被繪製,它就會消失!UINavigationBar在旋轉變化後消失

這裏是旋轉的變化代碼:

- (void)didRotateFromInterfaceOrientation:(UIInterfaceOrientation)fromInterfaceOrientation { 
    if (CGRectEqualToRect(navBar.frame, CGRectMake(0, 0, 768, 44))) { 
     navBar.frame = CGRectMake(0, 0, 1024, 44); 
    } else { 
     navBar.frame = CGRectMake(0, 0, 768, 44); 
    } 
} 

回答

2

我從來沒有做過,所以我在這裏建議的東西,我從來沒有測試。

您可以嘗試添加[navBar setNeedDisplay]; 但我不認爲這是最好的方法。
我寧願檢查UIViewController

- (void)willAnimateRotationToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation duration:(NSTimeInterval)duration 

而從這個方法我看你也應該得到動畫出來的:

討論
這種方法是從動畫中調用用於旋轉視圖的塊。您可以重寫此方法並使用它來配置視圖旋轉期間應發生的其他動畫。例如,您可以使用它來調整內容的縮放級別,更改滾動條位置或修改視圖的其他動畫屬性。