Skip to content

Commit fd2b02f

Browse files
authored
Update safe area frame when keyboard shows/hides (#407)
* Update safe area frame when keyboard shows/hides Happens in pageSheet/formSheet presentation styles * Update RNCSafeAreaProviderComponentView.mm
1 parent 8c1d811 commit fd2b02f

File tree

2 files changed

+24
-0
lines changed

2 files changed

+24
-0
lines changed

ios/Fabric/RNCSafeAreaProviderComponentView.mm

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,15 @@ - (instancetype)initWithFrame:(CGRect)frame
2424
if (self = [super initWithFrame:frame]) {
2525
static const auto defaultProps = std::make_shared<const RNCSafeAreaProviderProps>();
2626
_props = defaultProps;
27+
28+
[NSNotificationCenter.defaultCenter addObserver:self
29+
selector:@selector(invalidateSafeAreaInsets)
30+
name:UIKeyboardDidShowNotification
31+
object:nil];
32+
[NSNotificationCenter.defaultCenter addObserver:self
33+
selector:@selector(invalidateSafeAreaInsets)
34+
name:UIKeyboardDidHideNotification
35+
object:nil];
2736
}
2837

2938
return self;

ios/RNCSafeAreaProvider.m

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,21 @@ @implementation RNCSafeAreaProvider {
1010
BOOL _initialInsetsSent;
1111
}
1212

13+
- (instancetype)init
14+
{
15+
if ((self = [super init])) {
16+
[NSNotificationCenter.defaultCenter addObserver:self
17+
selector:@selector(invalidateSafeAreaInsets)
18+
name:UIKeyboardDidShowNotification
19+
object:nil];
20+
[NSNotificationCenter.defaultCenter addObserver:self
21+
selector:@selector(invalidateSafeAreaInsets)
22+
name:UIKeyboardDidHideNotification
23+
object:nil];
24+
}
25+
return self;
26+
}
27+
1328
- (void)safeAreaInsetsDidChange
1429
{
1530
[self invalidateSafeAreaInsets];

0 commit comments

Comments
 (0)