UIViewController with transition style partial Curl won't roll back

Hi Guys,


my app has a UIViewController transition style "Curl" with active animation between 2 UIViewController A (Initial ViewController) and B.

The UIViewController transition from A -> B (Segue kind "Show (e.g. Push)") with transition style "Curl" works fine.

Leaving UIViewController B by a storyboard segue (UIStoryboardSegue) of Kind "Show Detail e.g. (Replace)" with active animation to UIViewController A does not animate the UIViewController's View to roll back the Curl animation. Instead, the UIViewController A's view remains in a partial curl while the view A and its gesture recognition is still visible/active.

Both UIViewConroller A and B are embedded in a UISplitViewController.


Observed: The View A remains half-rolled/curled.

Expected: The View A rolls back to its default layout/style, when leaving/replacing the View B by View A.


Reproducibility: The issue is always reproducible and has been introduced with iOS13.x onwards. All UIViewController View transition worked fine with former iOS verisons (e.g. 12.x).


I have posted a bug report via feedback assistant 4 weeks ago (Sep 28, 2019 at 8:12 AM – FB7331595 UISplitViewControlle freezes master view layout during animation), but there's no Apple response yet.

I'm therefore turning this issue report to the developer forum.


The application does not throw any exception or error.


Any hint?

Replies

Same issue here testing with iOS 13, from previous iOS versions (11, 12, etc) it works as expected.


Check the example:


UINavigationController *safariHackVC = [[ModalSafariViewController alloc] initWithRootViewController:safariVC];
[safariHackVC setNavigationBarHidden:true animated:false];
safariHackVC.modalPresentationStyle = UIModalPresentationFullScreen;
safariHackVC.modalTransitionStyle = UIModalTransitionStylePartialCurl;
safariHackVC.presentationController.delegate = self;

#if defined(__IPHONE_OS_VERSION_MAX_ALLOWED) && __IPHONE_OS_VERSION_MAX_ALLOWED >= __IPHONE_13_0
 if (@available(iOS 13.0, *)) {
 [safariHackVC setModalInPresentation:TRUE];
 }
#endif

[ctrl presentViewController:safariHackVC animated:animated completion:nil];


You can see the code here: https://github.com/proyecto26/react-native-inappbrowser/blob/master/ios/RNInAppBrowser.m#L212


Please, any help is really appreciated