2014-12-22 77 views
1

我的代碼在iOS7及以下版本中工作得很好。 但與xcode6和iOS8 UIModalTransitionStylePartialCurl不起作用。視圖出現時,頁面捲曲在第二部分中消除。UIModalTransitionStylePartialCurl無法在iOS 8上工作

MyViewController* opts = [[MyViewController alloc] initWithView:someView]; 
opts.modalPresentationStyle = UIModalPresentationFullScreen; 
opts.modalTransitionStyle = UIModalTransitionStylePartialCurl; 
[self presentViewController:opts animated:YES completion:nil]; 

[編輯] - 我發現如果構建完成xCode5.1並在iOS8上運行,按預期工作。 xCode6和iOS8有什麼問題?

+0

http://stackoverflow.com/questions/25927199/ios8-uimodaltransitionstylepartialcurl-doesnt-work-properly看起來是同樣的問題。那個也沒有答案。 – AKG

+0

http://www.openradar.me/18305611 – TonyMkenu

回答

1

從評論中的第一個鏈接複製(我在該帖子中的解決方案)。

我有同樣的問題,我應用此修復程序,它爲我工作在iOS 8和Xcode的6

[_mapToolbarController setModalTransitionStyle:UIModalTransitionStylePartialCurl]; 
    [self presentViewController:_mapToolbarController animated:YES completion:^{ 
     [_mapToolbarController.view.superview addSubview:self.view]; 
    }]; 

顯然,_mapToolbarController將要介紹的控制器。要明白爲什麼你需要這個,在完成處理程序的行中添加一個斷點。做動畫,你會在完成處理程序中看到冰壺動畫剛剛完成,一切都很完美。出於某種原因,我無法解釋,在iOS 8中,您需要告訴iOS框架「保留」捲曲視圖並確保它不會被丟棄。完成處理程序中的代碼試圖將即將消失的捲曲視圖「保留」在屏幕上。請注意,在這種情況下,self.view是正在捲曲的視圖。

+0

這不適用於UINavigationController類。我得到一個異常說,子視圖控制器應該有父控制器X,但父母是Y.其中X是我的視圖控制器要呈現和Y是自定義導航控制器類。 – AKG

+0

雖然我不能保證它適用於所有人,但我只是在分享一個潛在的提示。如果你可以找到一種方法來保持你自己的實現視圖,就像我對自己做的那樣,它可能會工作。 – SmallChess