From 233820ef372042d4fae463b0a63f75bfeab160da Mon Sep 17 00:00:00 2001 From: Alex Kolesnyk <51327975+wixiosalex@users.noreply.github.com> Date: Wed, 15 Jan 2020 17:01:03 +0200 Subject: [PATCH] Add check if UIBarButtonItem is RNNUIBarButtonItem (#5850) --- lib/ios/RNNNavigationButtons.m | 22 ++++++++++++++++------ 1 file changed, 16 insertions(+), 6 deletions(-) diff --git a/lib/ios/RNNNavigationButtons.m b/lib/ios/RNNNavigationButtons.m index 078c0138883..1a06c2c2865 100644 --- a/lib/ios/RNNNavigationButtons.m +++ b/lib/ios/RNNNavigationButtons.m @@ -73,23 +73,33 @@ - (NSArray *)currentButtons { } - (void)componentDidAppear { - for (RNNUIBarButtonItem* barButtonItem in [self currentButtons]) { - [barButtonItem notifyDidAppear]; + for (UIBarButtonItem* barButtonItem in [self currentButtons]) { + if ([self isRNNUIBarButton:barButtonItem]) { + [(RNNUIBarButtonItem *)barButtonItem notifyDidAppear]; + } } } - (void)componentDidDisappear { - for (RNNUIBarButtonItem* barButtonItem in [self currentButtons]) { - [barButtonItem notifyDidDisappear]; + for (UIBarButtonItem* barButtonItem in [self currentButtons]) { + if ([self isRNNUIBarButton:barButtonItem]) { + [(RNNUIBarButtonItem *)barButtonItem notifyDidDisappear]; + } } } - (void)notifyButtonsDidAppear:(NSArray *)barButtonItems { - for (RNNUIBarButtonItem* barButtonItem in barButtonItems) { - [barButtonItem notifyDidAppear]; + for (UIBarButtonItem* barButtonItem in barButtonItems) { + if ([self isRNNUIBarButton:barButtonItem]) { + [(RNNUIBarButtonItem *)barButtonItem notifyDidAppear]; + } } } +- (BOOL)isRNNUIBarButton:(UIBarButtonItem *)barButtonItem { + return [barButtonItem isKindOfClass:[RNNUIBarButtonItem class]]; +} + - (void)clearPreviousButtonViews:(NSArray *)newButtons oldButtons:(NSArray *)oldButtons { NSArray* removedButtons = [oldButtons difference:newButtons withPropertyName:@"customView"];