You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Fix responder chain in reactViewController on macOS (#2380)
## Summary:
I first noticed this while working on SwiftUI views for
expo/expo#35078. Calling `reactViewController`
on iOS always returns the correct view controller but on macOS, this
same function will return nil for nested views.
So this PR addresses the differences in responder chain behavior between
iOS and macOS when aliasing UIViewController to NSViewController. On
iOS, a view's nextResponder is naturally its own UIViewController,
ensuring that helper functions like reactViewController work as
expected. However, on macOS, an NSView's nextResponder does not include
its NSViewController by default, which causes issues when trying to
retrieve the view controller directly from the responder chain.
This change ensures that traversals will properly locate the
NSViewController using the superview chain, mirroring iOS behavior.
## Test Plan:
Run RNTester and we've been using this same function to render SwiftUI
views on macOS in expo's repo
Co-authored-by: Saad Najmi <[email protected]>
0 commit comments