iPhone Duo: SwiftUI Layout Differs Between Simulator and Physical Device (Tab Bar Placement and Content Cropping)

Hi everyone,

I'm experiencing a significant difference in SwiftUI layout behavior between the iPhone Duo simulator and a physical iPhone Duo.

I've already adjusted my layout to work correctly in the simulator, but the same app behaves differently on the actual device.

1. Folded

  • Simulator: The tab bar is positioned on the right side, as expected for iPhone Duo. The view respects the right-side layout, and scroll views extend naturally behind the tab bar, behaving as expected.
  • Physical device: The tab bar appears at the bottom, like a regular iPhone, instead of on the right. The view is also cropped on the right side.

2. Unfolded

  • Simulator: The tab bar and navigation view both appear correctly.
  • Physical device: The tab bar remains at the bottom, even in landscape orientation, instead of using the expected Duo layout. The main content also starts from the bottom of the navigation view, resulting in an incorrect layout.

The most confusing part is that the layout works correctly in the simulator but not on the physical device.

Has anyone encountered this behavior on a physical iPhone Duo? Could this be related to the iOS version, SDK version, SwiftUI's automatic tab bar adaptation, or a device-specific bug?

I'd appreciate any insights, especially from developers who have tested their SwiftUI apps on actual iPhone Duo hardware.

Environment:

  • Xcode version: 27.1
  • iOS SDK: 27.1
  • Physical device iOS version: 27.2

Thanks!

Hello @mohammadgdz,

This is interesting. Generally, you should not expect to see such visual differences between simulator and physical device. I would like to collect information about this report, are you able to share screenshots and the code you are using in a report filed through Feedback Assistant?

I can take a look for any known workarounds – or share this report directly with the relevant engineering teams.
Once filed, reply with the FB number.

Thank you,

 Travis