ios – React-Native:关闭/退出React-Native View返回Native

栏目: IOS · 发布时间: 5年前

内容简介:翻译自:https://stackoverflow.com/questions/35298144/react-native-dismiss-exit-react-native-view-back-to-native

我有一个现有的应用程序,我正在努力为其中的一部分集成React-Native.我是

无法理解如何“退出”本地反应并返回原生视图.

这是一些代码:

// Main objective-c code that bootstraps the react-native view. This view is loaded as a modal view.
MainViewController.m:

- (void)viewDidLoad {
    [super viewDidLoad];

    RCTRootView *rootView = [[RCTRootView alloc] initWithBundleURL:jsCodeLocation moduleName:@"IndexApp" initialProperties:props launchOptions:nil];

    rootView.frame = CGRectMake(0, 0, self.view.bounds.size.width, self.view.bounds.size.height-49);
    [self.view addSubview:rootView];

}

我最初的反应意见如下:

render() {
  return (
      <Navigator
          style={styles.container}
...

我在导航器上有一个右导航按钮,我想“解除”反应视图和底层MainViewController本机视图.

我已经尝试从反应视图回调MainViewController,但没有用:

RCT_EXPORT_METHOD(dismiss:(NSString *)name location:(NSString *)location)
{
    NSLog(@"dismiss...");
    // these don't do anything
    //[self dismissViewControllerAnimated:YES completion:nil];
    //[self.navigationController popViewControllerAnimated:YES];
    // anything with _rootView doesn't do anything, i.e. _rootView removeFromSuperview];

}

任何有关“退出”反应本机视图并返回本机视图的方法的帮助将不胜感激.

我发现它的唯一方法是 this

它的要点是:

>在Obj-C中创建一个NotificationManager类并将其公开为React Module

>在ViewController寄存器中获取接收触发时的通知[self dismissViewController ..]

翻译自:https://stackoverflow.com/questions/35298144/react-native-dismiss-exit-react-native-view-back-to-native


以上所述就是小编给大家介绍的《ios – React-Native:关闭/退出React-Native View返回Native》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

未来世界的幸存者

未来世界的幸存者

阮一峰 / 人民邮电出版社 / 2018-6-1 / 39.00 元

本书为阮一峰博客文集,主要收录的是作者对技术变革的影响的一些思考,希望能够藉此书让读者意识到世界正在剧烈变化,洪水就在不远处,从而早早准备出路。本书适合所有乐于思考的读者。一起来看看 《未来世界的幸存者》 这本书的介绍吧!

在线进制转换器
在线进制转换器

各进制数互转换器

XML、JSON 在线转换
XML、JSON 在线转换

在线XML、JSON转换工具

RGB HSV 转换
RGB HSV 转换

RGB HSV 互转工具