|
@@ -16,6 +16,7 @@ static BOOL UIEdgeInsetsEqualToEdgeInsetsWithThreshold(UIEdgeInsets insets1, UIE
|
16
|
16
|
@implementation RNCSafeAreaView
|
17
|
17
|
{
|
18
|
18
|
UIEdgeInsets _currentSafeAreaInsets;
|
|
19
|
+ BOOL _initialInsetsSent;
|
19
|
20
|
}
|
20
|
21
|
|
21
|
22
|
- (BOOL)isSupportedByOS
|
|
@@ -69,10 +70,11 @@ static BOOL UIEdgeInsetsEqualToEdgeInsetsWithThreshold(UIEdgeInsets insets1, UIE
|
69
|
70
|
{
|
70
|
71
|
UIEdgeInsets safeAreaInsets = [self realOrEmulateSafeAreaInsets];
|
71
|
72
|
|
72
|
|
- if (UIEdgeInsetsEqualToEdgeInsetsWithThreshold(safeAreaInsets, _currentSafeAreaInsets, 1.0 / RCTScreenScale())) {
|
|
73
|
+ if (_initialInsetsSent && UIEdgeInsetsEqualToEdgeInsetsWithThreshold(safeAreaInsets, _currentSafeAreaInsets, 1.0 / RCTScreenScale())) {
|
73
|
74
|
return;
|
74
|
75
|
}
|
75
|
76
|
|
|
77
|
+ _initialInsetsSent = YES;
|
76
|
78
|
_currentSafeAreaInsets = safeAreaInsets;
|
77
|
79
|
|
78
|
80
|
self.onInsetsChange(@{
|
|
@@ -89,9 +91,7 @@ static BOOL UIEdgeInsetsEqualToEdgeInsetsWithThreshold(UIEdgeInsets insets1, UIE
|
89
|
91
|
{
|
90
|
92
|
[super layoutSubviews];
|
91
|
93
|
|
92
|
|
- if (!self.isSupportedByOS) {
|
93
|
|
- [self invalidateSafeAreaInsets];
|
94
|
|
- }
|
|
94
|
+ [self invalidateSafeAreaInsets];
|
95
|
95
|
}
|
96
|
96
|
|
97
|
97
|
@end
|