1 Reply
      Latest reply on Nov 8, 2019 6:01 PM by jdnichollsc
      jumbopilot Level 1 Level 1 (0 points)

        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?

        • Re: UIViewController with transition style partial Curl won't roll back
          jdnichollsc Level 1 Level 1 (0 points)

          Same issue here testing with iOS 13, but it works from iOS 11, etc

          Check my example:


          if(animated) {
            safariVC.modalPresentationStyle = UIModalPresentationFullScreen;
            safariVC.modalTransitionStyle = UIModalTransitionStylePartialCurl;
          safariVC.presentationController.delegate = self;
          // This is a hack to present the SafariViewController modally
          UINavigationController *safariHackVC = [[ModalSafariViewController alloc] initWithRootViewController:safariVC];
          [safariHackVC setNavigationBarHidden:true animated:false];
          safariHackVC.modalPresentationStyle = UIModalPresentationFullScreen;
          [ctrl presentViewController:safariHackVC animated:animated completion:nil];


          Please, any help is really appreciated!