यह गहराई से अधिक है this issue in React-Native
एक्सकोड के लेफ्टथैंड साइडबार में, फ़ाइल संरचना को देखने के लिए 'प्रोजेक्ट मैनेजर' (फ़ोल्डर आइकन) चुनें। [YourAppName]> पुस्तकालय> React.xcodeproj> प्रतिक्रिया> दृश्य
RCTNavItem.h
#import "RCTComponent.h"
@interface RCTNavItem : UIView
//add this line:
@property (nonatomic, assign) BOOL showTabBar;
RCTNavItemManager.m
@implementation RCTNavItemManager
RCT_EXPORT_MODULE()
- (UIView *)view
{
return [RCTNavItem new];
}
// add this line:
RCT_EXPORT_VIEW_PROPERTY(showTabBar, BOOL)
:
विशेष फ़ोल्डर आप देख रहे हैं में पाया जाता है
आरसीटीएनविगेटर.एम
- (void)navigationController:(UINavigationController *)navigationController
willShowViewController:(__unused UIViewController *)viewController
animated:(__unused BOOL)animated
{
// Add these two lines:
RCTWrapperViewController *thisController = (RCTWrapperViewController *)viewController;
navigationController.tabBarController.tabBar.hidden = !thisController.navItem.showTabBar;
मैं यह सब काम करने के लिए आदेश में NavigatorIOS.ios.js को propTypes या TabBarIOS.ios.js
जोड़ने की जरूरत नहीं किया था, प्रत्येक टैब प्रतीत होता है अपने स्वयं के NavigatorIOS घटक की जरूरत है।जब मेरे पास टैब बस एक स्क्रीन प्रस्तुत करता था - (शून्य) नेविगेशन नियंत्रक: (UINavigationController *) नेविगेशन नियंत्रक ... विधि नहीं कहा जाता है। यह मेरे लिए कोई मुद्दा नहीं था, क्योंकि नेविबार को छिपाने के लिए नेविगेशन के साथ आसानी से किया जाता है: सही।
render() {
return (
<NavigatorIOS
style={styles.container}
client={this.props.client}
initialRoute={{
title: 'Home',
component: HomeScreen,
navigationBarHidden: true,
showTabBar: false,
passProps: { ...},
}}/>
);
}
}
मुझे आशा है कि यह किसी को मदद मिलती है:
मेरे मामले में मैं एक TabNav> HomeNav> होमस्क्रीन
पासिंग HomeNav में सहारा showTabBar था!
स्रोत
2016-07-22 18:10:58
https://stackoverflow.com/questions/30266831/hide-show-components-in-react-native इस की जाँच करें। – ogelacinyc