123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263 |
- #import "RNNTabBarPresenter.h"
- #import "UITabBarController+RNNOptions.h"
-
- @implementation RNNTabBarPresenter
-
- - (void)applyOptionsOnInit:(RNNNavigationOptions *)initialOptions {
- UITabBarController* tabBarController = self.bindedViewController;
- [tabBarController rnn_setCurrentTabIndex:[initialOptions.bottomTabs.currentTabIndex getWithDefaultValue:0]];
- }
-
- - (void)applyOptions:(RNNNavigationOptions *)options {
- UITabBarController* tabBarController = self.bindedViewController;
-
- [tabBarController rnn_setTabBarTestID:[options.bottomTabs.testID getWithDefaultValue:nil]];
- [tabBarController rnn_setTabBarBackgroundColor:[options.bottomTabs.backgroundColor getWithDefaultValue:nil]];
- [tabBarController rnn_setTabBarTranslucent:[options.bottomTabs.translucent getWithDefaultValue:NO]];
- [tabBarController rnn_setTabBarHideShadow:[options.bottomTabs.hideShadow getWithDefaultValue:NO]];
- [tabBarController rnn_setTabBarStyle:[RCTConvert UIBarStyle:[options.bottomTabs.barStyle getWithDefaultValue:@"default"]]];
- [tabBarController rnn_setTabBarVisible:[options.bottomTabs.visible getWithDefaultValue:YES]];
- }
-
- - (void)mergeOptions:(RNNNavigationOptions *)newOptions currentOptions:(RNNNavigationOptions *)currentOptions defaultOptions:(RNNNavigationOptions *)defaultOptions {
- [super mergeOptions:newOptions currentOptions:currentOptions defaultOptions:defaultOptions];
-
- UITabBarController* tabBarController = self.bindedViewController;
-
- if (newOptions.bottomTabs.currentTabIndex.hasValue) {
- [tabBarController rnn_setCurrentTabIndex:newOptions.bottomTabs.currentTabIndex.get];
- [newOptions.bottomTabs.currentTabIndex consume];
- }
-
- if (newOptions.bottomTabs.currentTabId.hasValue) {
- [tabBarController rnn_setCurrentTabID:newOptions.bottomTabs.currentTabId.get];
- [newOptions.bottomTabs.currentTabId consume];
- }
-
- if (newOptions.bottomTabs.testID.hasValue) {
- [tabBarController rnn_setTabBarTestID:newOptions.bottomTabs.testID.get];
- }
-
- if (newOptions.bottomTabs.backgroundColor.hasValue) {
- [tabBarController rnn_setTabBarBackgroundColor:newOptions.bottomTabs.backgroundColor.get];
- }
-
- if (newOptions.bottomTabs.barStyle.hasValue) {
- [tabBarController rnn_setTabBarStyle:[RCTConvert UIBarStyle:newOptions.bottomTabs.barStyle.get]];
- }
-
- if (newOptions.bottomTabs.translucent.hasValue) {
- [tabBarController rnn_setTabBarTranslucent:newOptions.bottomTabs.translucent.get];
- }
-
- if (newOptions.bottomTabs.hideShadow.hasValue) {
- [tabBarController rnn_setTabBarHideShadow:newOptions.bottomTabs.hideShadow.get];
- }
-
- if (newOptions.bottomTabs.visible.hasValue) {
- [tabBarController rnn_setTabBarVisible:newOptions.bottomTabs.visible.get];
- }
- }
-
- @end
|