12345678910111213141516171819202122232425262728293031323334353637383940414243444546 |
- #import "RNNBottomTabsOptions.h"
- #import "RNNTabBarController.h"
- extern const NSInteger BLUR_TOPBAR_TAG;
-
- @implementation RNNBottomTabsOptions
-
- - (void)applyOn:(UIViewController *)viewController {
- if (self.currentTabIndex) {
- [viewController.tabBarController setSelectedIndex:[self.currentTabIndex unsignedIntegerValue]];
- }
-
- if (self.currentTabId) {
- [(RNNTabBarController*)viewController.tabBarController setSelectedIndexByComponentID:self.currentTabId];
- }
-
- if (self.hidden) {
- [((RNNTabBarController *)viewController.tabBarController) setTabBarHidden:[self.hidden boolValue] animated:[self.animateHide boolValue]];
- }
-
- if (self.testID) {
- viewController.tabBarController.tabBar.accessibilityIdentifier = self.testID;
- }
-
- if (self.drawUnder) {
- if ([self.drawUnder boolValue]) {
- viewController.edgesForExtendedLayout |= UIRectEdgeBottom;
- } else {
- viewController.edgesForExtendedLayout &= ~UIRectEdgeBottom;
- }
- }
-
- [self resetOptions];
- }
-
- - (void)resetOptions {
- self.currentTabId = nil;
- self.currentTabIndex = nil;
- }
-
- -(void)mergeWith:(NSDictionary *)otherOptions {
- for (id key in otherOptions) {
- [self setValue:[otherOptions objectForKey:key] forKey:key];
- }
- }
- @end
|