UIKit flip animation bugged in 26.1

Hello. I have an 12 year old app that still has some objective-c code in it. I have a place where i have a flip animation between 2 view controllers that looks like this:

[UIView transitionFromView:origView
toView:newViewController.view
duration:0.5
options:UIViewAnimationOptionTransitionFlipFromRight
completion:nil];

It has looked like this since 2012 at least.

In our production release, it works prior to 26.1, but in 26.1 and 26.2, the flip is off-center and looks weird. it's like both edges flip the same way. It's a little bit hard to explain.

If seen at least 2 other app store apps that i have installed behave this way too, from 26.1 and onwards.

Anyone else seen this? Is there anything that can be done about it?

Thankful for thoughts.

Thanks for the post and the animation that worked for 12 years. What Xcode are you using?

Do you get the same results with just the relevant code in a small test project? If so, please share a link to your test project. That'll help us better understand what's going on. If you're not familiar with preparing a test project, take a look at Creating a test project.

This will help so I can see and test on my environment to see if something has changed and now is causing an issue.

Albert Pascual
  Worldwide Developer Relations.

I have exactly the same issue without any code changes. Even compiled with Xcode 16.4

i am using xcode 26.0.

If i deploy it from there on my phone running 26.1 or 26.2 i get the strange flip. but if i instead deploy it on one running 18.5 (all iphone pros) , the animation is wrong.

Please find attached a small demo view controller i made that shows the bug. It looks as expected prior to 26.1 but is bugged in 26.1 and onwards. (i tried attaching a zip of the entire project but alas not allowed here)

Thanks for the file, the project is missing and the storyboard as well. Any chance to put it on a repository where I can download the zip file? So I can see as well all the project settings?

I see you have created the setupViewx() in the code.

Xcode 26.2 beta 2 is available for download, have you tried that version?

Thanks,

Albert Pascual
  Worldwide Developer Relations.

In addition to my comment to your post: i tried the demo project on 26.2 and it's still there.

@Mathias_ Thanks for providing this, can you please zip up that project and file a bug where will let you upload the zip file. Please make sure to provide the information the bug is still on 26.2 and also using the latest Xcode beta.

Once you open the bug report, please post the FB number here for my reference.

If you have any questions about filing a bug report, take a look at Bug Reporting: How and Why?

Albert Pascual
  Worldwide Developer Relations.

FB21298709

@Mathias_ Thanks for filing the bug and providing the focus sample FlipTest project. Its being routed to the correct team and lets give them sometime to look over the issue.

The status appears beside the label "Resolution." We're unable to share any updates on specific reports on the forums.

For more details on when you'll see updates to your report, please see What to expect after submission.

Thanks again for doing all that work, hopefully will be a resolution of the issue soon.

Albert Pascual
  Worldwide Developer Relations.

It would have been nice with an acknowledgment from someone, anywhere, that "Yes your eyes do not deceive you, we also can see the issue."

While acknowledging the importance it is worth noting that your application has been successfully operating for 12 years using Objective-C code. This demonstrates the reliability and effectiveness of your current codebase.

However, I strongly recommend that developers consider refactoring their code and transitioning to a more modern framework.

Over the past 12 years, significant advancements have been made in the development landscape.

These frameworks offer enhanced capabilities and performance, which can greatly benefit your application.

In my experience, I consistently recommend the following three key areas for developers to focus on refactoring code improves its readability, maintainability, and overall quality. It involves restructuring the code to enhance its functionality and reduce redundancy.

Transitioning to a modern framework like Swift or Liquid Glass can provide your application with improved performance, security, and compatibility.

In light of the advancements in technology, I strongly recommend that you consider refactoring the specific section of your application or the entire application. This refactoring will not only enhance the functionality of your application but also enable you to fully embrace the innovative changes introduced over the past twelve years.

This is just my opinion. of course.

Albert Pascual
  Worldwide Developer Relations.

I am not sure what that has to do with anything?

I am reporting a bug in UIKit, a pretty popular framework that you support, while noting that i've found several apps, being sold on the app store, that show similar behavior.

I have taken time off a busy schedule to report a bug, discuss and even put together a full project to display the issue. It would then be useful to hear someone say "yes it does look like something is off here, we'll look at it."

To Instead being rewarded with critique on the quality of my app, of which you've basically only seen one line of code does not encourage further bug reporting.

FURTHERMORE, while the code line above is Objc, my entire test project that i submitted is Swift, showing the same behavior. But i guess that confirms that you didn't look at it.

I am aware that parts of my app is objective C and that Swift exists, but thank you for reminding me.

I confirm, the flip animation is broken; it only plays on the device; it works correctly on the simulator. Tested in two different apps, one with UIKit and one with SwiftUI.

I'm also seeing this bug. I can reproduce it both in the 26.1 simulator, and on a device running the 26.2 RC.

It happens for me using the following Swift code:

UIView.transition(with: self.contentView,
                              duration: 0.5,
                              options: .transitionFlipFromLeft,
                              animations: nil,
                              completion: nil)
            
UIKit flip animation bugged in 26.1
 
 
Q