File tree Expand file tree Collapse file tree 2 files changed +18
-2
lines changed Expand file tree Collapse file tree 2 files changed +18
-2
lines changed Original file line number Diff line number Diff line change @@ -889,7 +889,15 @@ export namespace ios {
889
889
// The TabView itself is handled by the OS, so we check the TabView's parent (usually a Page, but can be a Layout).
890
890
const tabViewItem = owner . parent ;
891
891
const tabView = tabViewItem && tabViewItem . parent ;
892
- const parent = tabView && tabView . parent ;
892
+ let parent = tabView && tabView . parent ;
893
+
894
+ // Handle Angular scenario where TabView is in a ProxyViewContainer
895
+ // Not using instanceof ProxyViewContainer to avoid circular dependency
896
+ // TODO: Try moving UILayoutViewController out of view module
897
+ if ( parent && ! parent . nativeViewProtected ) {
898
+ parent = parent . parent ;
899
+ }
900
+
893
901
if ( parent ) {
894
902
const parentPageInsetsTop = parent . nativeViewProtected . safeAreaInsets . top ;
895
903
const currentInsetsTop = this . view . safeAreaInsets . top ;
Original file line number Diff line number Diff line change @@ -224,7 +224,15 @@ class UIViewControllerImpl extends UIViewController {
224
224
// If the Page is nested, cross check safe area insets on top and bottom with Frame parent.
225
225
const frame = owner . parent ;
226
226
// There is a legacy scenario where Page is not in a Frame - the root of a Modal View, so it has no parent.
227
- const frameParent = frame && frame . parent ;
227
+ let frameParent = frame && frame . parent ;
228
+
229
+ // Handle Angular scenario where TabView is in a ProxyViewContainer
230
+ // Not using instanceof ProxyViewContainer to avoid circular dependency
231
+ // TODO: Try moving UIViewControllerImpl out of page module
232
+ if ( frameParent && ! frameParent . nativeViewProtected ) {
233
+ frameParent = frameParent . parent ;
234
+ }
235
+
228
236
if ( frameParent ) {
229
237
const parentPageInsetsTop = frameParent . nativeViewProtected . safeAreaInsets . top ;
230
238
const currentInsetsTop = this . view . safeAreaInsets . top ;
You can’t perform that action at this time.
0 commit comments