2011-03-17 71 views
1

我有一個導航欄的UIViewTable。當我讀取數據時,我在表格頂部顯示帶有ActivityIndi​​cator的UIViewController。問題是當我旋轉設備這個頂視圖不旋轉時,我不知道爲什麼? :( 這是我添加頂視圖與ActivityIndi​​cator:關鍵窗口不旋轉

UIView *view = [[UIApplication sharedApplication] keyWindow]; 
[view addSubview:viewWithLoader.view]; 

這是我的移除:

[viewWithLoader.view removeFromSuperview]; 

這是從俯視圖(與ActivityIndi​​cator)方法:

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation 
{ 
    return YES; 
} 
+0

你有沒有其他的子視圖那些旋轉? – Pacu 2011-03-17 14:09:46

+0

是的一切正常。在我將它添加爲'keyWindow'之前,這個工作正常。但我必須這樣做,因爲如果我只說[self.view addsubview:viewWithLoader] ...那麼我不會在導航欄上。 – 1110 2011-03-17 14:24:33

回答

2

在您調用[self.window makeKeyAndVisible]之後;在您的應用程序委託上,獲取旋轉通知,動畫等的視圖是該初始視圖的子視圖

它發生在我身上,我有一個頂級酒吧,取代了狀態欄。所以我認爲將它作爲關鍵窗口的子視圖添加是個好主意。但是這種情況導致了你正在經歷的結果。

您有2個選項

  1. 誰就擁有該俯視圖看應該照顧旋轉它或刪除/時發生旋轉時因此它具有正確的方向添加。

  2. 使該頂視圖成爲自動旋轉視圖之一的子視圖。

兩者都很容易實現,但我沒有發現。 2對用戶來說更具視覺吸引力。

+0

我用加載器調用這個視圖的按鈕導航到視圖。該視圖旋轉很好。我將它從縱向旋轉到橫向,並按下頂部視圖方向不變的按鈕: 此按鈕:... [self.view addSubView:viewWithLoader]; – 1110 2011-03-17 15:08:18

+0

嘗試在旋轉時刪除並添加topView。當在當前視圖控制器上調用willRotate ...並在調用didRotateFromInterfaceOrientation時添加視圖時,使用加載器刪除視圖。 – Pacu 2011-03-17 16:23:05

0

我找到了解決方案:)我添加此頂視圖(裝載機)爲「模態的視圖」和輪換工作正常,在所有視圖:)

... 
[self presentModalViewController:ldr animated:YES]; 
... 
[self dismissModalViewControllerAnimated:YES];