2011-09-04 37 views
0

我的應用程序有一個的UITabBarController添加到我的AppDelegate的窗口,它顯示了幾個定製UIViewControllers的意見看法。我在每個視圖控制器中都有:查看的變換不改變下列設備旋轉

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation{ 
    return TRUE; 
} 

實現以便應用程序隨設備一起旋轉。

在視圖控制器我想之間的觸摸座標由一些定製子視圖的對象和旋轉後產生做一些水平的研究中的一個,這些是在從在視圖控制器的座標的旋轉座標空間。

於是我問一個問題先前關於如何最好地實現這一點,我被告知使用的的viewController的視圖的轉換得到的座標爲相同的旋轉。原則上聽起來不錯,但當我開始使用它時,事情並沒有按計劃進行。所以我試圖加入一些NSLog來找出可能的原因。

在視圖控制器I放置:

- (void)didRotateFromInterfaceOrientation:(UIInterfaceOrientation)fromInterfaceOrientation{ 
    NSLog(@"VC Transform: %@", NSStringFromCGAffineOrientation(self.view.transform)); 
} 

,我發現,在每一個方向的輸出爲[1,0,0,1,0,0]儘管屏幕清楚地旋轉。在任何時候,我都會提及在我的代碼中爲它分配內容。

所以我嘗試添加:

NSLog(@"AD Tansform: %@", NSStringFromCGAffineOrientation(mainDelegate.window.transform)); 

,看看有沒有什麼更有趣的是happeing,又發現了同樣的結果。我也嘗試將它添加到我的其他視圖控制器之一,這些控制器在旋轉後沒有做任何工作,並找到了相同的東西。

誰能想到一個原因,視圖變換可能不會改變?

回答