In iOS 15.5 the correct GeometryProxy.size.height value is available when a UIDevice.orientationDidChangeNotification is received. In iOS 16.0 the GeometryProxy.size.height value is outdated it (reflects the value before rotation).
Expected behavior: iPhone SE (3rd generation) (15.5) Landscape: Height is logged at 375.0. Portrait: Height is logged at 647.0.
Actual behavior: iPhone SE (3rd generation) (16.0) Landscape: Height is logged at 647.0. Portrait: Height is logged at 375.0.
Feedback FB10448199
import SwiftUI
struct ContentView: View {
let orientationDidChangeNotification =
NotificationCenter
.default
.publisher(for: UIDevice.orientationDidChangeNotification)
var body: some View {
GeometryReader { geometryProxy in
Color.clear
.onReceive(orientationDidChangeNotification) { _ in
print(geometryProxy.size.height)
}
}
}
}