2013-10-13 22 views
2

致力於將我的應用程序移動到IOS7,但是我有一個uiviewanimation問題。uiviewanimation在ios 7中工作,但在ios6中被修剪和抵消

在IOS7中一切正常,但是當我使用uiviewanimation在兩個視圖之間「翻轉」時,視圖在過渡期間看起來不正確,但是在之後很好。它更高,視圖底部的一部分被裁剪。見附圖。

動畫完成後,視圖會「跳」到其正確的位置。我不知所措......

我用翻轉我的看法代碼:

newView = [[LocationCrudViewController alloc] initWithNibName:THE_VIEW bundle:nil]; 
.....  
[UIView transitionWithView:self.window duration:0.5 
          options:UIViewAnimationOptionTransitionFlipFromRight 
         animations:^ { self.window.rootViewController = newView; } 
         completion:nil]; 

值得注意的一點 - 我以前做的:

self.window addSubview:currentViewController.view]; 

爲觀看動畫,然後我的工作,然後我得到了警告消息,應用程序窗口預計將在應用程序啓動結束時有一個根視圖控制器,所以我切換到上面的代碼,這再次,在IOS7中工作正常。

我在reeeaaally希望有人可以在這裏幫忙。

enter image description here

+0

以爲我有答案,所以我試圖運行你的代碼。但是我得到的結果更糟糕,它甚至沒有翻轉,視圖只是擴展到用上面的代碼填滿屏幕。希望有人能幫到這裏。 – Unheilig

回答

0

對於那些有興趣,這裏是我落得這樣做:

我的意見被定義爲每正常(對我來說),不需要iOS6的/ 7三角洲,與相關控制器筆尖。

我創建了一個「虛擬」視圖,它佔據整個屏幕但沒有內容。

在我的應用程序委託,創建我的虛擬視圖,並將其設置爲根:

self.root = [[RootViewController alloc] initWithNibName:ROOT_VIEW_CONTROLLER bundle:nil]; 
self.window.rootViewController = root; 

然後我就可以添加和刪除子視圖我認爲合適的,就像這樣:

[currentViewController.view removeFromSuperview]; 
UIView transitionWithView:self.window duration:0.5 
          options:UIViewAnimationOptionTransitionFlipFromRight 
         animations:^ { 
          [self.window addSubview:newViewController.view]; } 
         completion:nil]; 

這效果很好,並且它讓我的視圖在IOS6和IOS7的狀態欄下都可以使用,就像我想要的一樣。

希望這有助於某人。

相關問題