fix(ios-tabs): handle nesting proxy view container (#7755)

This commit is contained in:
Martin Yankov
2019-08-29 21:15:23 +03:00
committed by Svetoslav
parent e3ed02858c
commit 92c3338dd5

View File

@ -150,10 +150,17 @@ class UIPageViewControllerImpl extends UIPageViewController {
scrollViewHeight = this.view.frame.size.height - safeAreaInsetsBottom; scrollViewHeight = this.view.frame.size.height - safeAreaInsetsBottom;
} }
const parent = owner.parent; let parent = owner.parent;
// Handle Angular scenario where Tabs is in a ProxyViewContainer
// It is possible to wrap components in ProxyViewContainers indefinitely
while (parent && !parent.nativeViewProtected) {
parent = parent.parent;
}
if (parent && majorVersion > 10) { if (parent && majorVersion > 10) {
// TODO: Figure out a better way to handle ViewController nesting/Safe Area nesting // TODO: Figure out a better way to handle ViewController nesting/Safe Area nesting
tabBarTop = Math.max(tabBarTop, owner.parent.nativeView.safeAreaInsets.top); tabBarTop = Math.max(tabBarTop, parent.nativeView.safeAreaInsets.top);
} }
this.tabBar.frame = CGRectMake(0, tabBarTop, this.tabBar.frame.size.width, tabBarHeight); this.tabBar.frame = CGRectMake(0, tabBarTop, this.tabBar.frame.size.width, tabBarHeight);