I’m experiencing a similar issue, but it’s not related to how I set up the constraints. That part is working correctly—the safe area is respected on iOS 26 as well as earlier iOS versions.
The problem occurs when I set the root view controller on the UIWindow and make it key and visible:
primaryWindow?.rootViewController = initialController
primaryWindow?.makeKeyAndVisible()
On iOS 26, the viewSafeAreaInsetsDidChange method is not called.
On devices running versions earlier than iOS 26, the safe area insets do change, and viewSafeAreaInsetsDidChange is called as expected.
As a result, on an iPhone SE (3rd gen) running iOS 26, the safe area ends up being 375x667, whereas on the same device with iOS < 26, it’s correctly 375x647.
Topic:
UI Frameworks
SubTopic:
UIKit
Tags: