gpt4 book ai didi

ios - React-Native View Component 按钮按下时的原生 iOS 导航

转载 作者:行者123 更新时间:2023-11-29 11:44:05 25 4
gpt4 key购买 nike

我有一个简单的 React-Native 组件ReactNativeMasterView,带有一个我想用于 native 导航的按钮。

ReactNativeMasterView 中:

var MasterViewController = NativeModules.MasterViewController

然后按钮调用:

MasterViewController.buttonEvent()

我有一个名为 MasterViewController 的基本 Obj-C View Controller

MasterViewController.h中:

@interface MasterViewController : UIViewController <RCTBridgeModule>

并且在 MasterViewController.m我在 Storyboard中引用了 React Native View :

@property (weak, nonatomic) IBOutlet RNMasterView *reactViewWrapper;

原生模块和方法如下所示:

RCT_EXPORT_MODULE();

RCT_EXPORT_METHOD(buttonEvent) {

RCTLogInfo(@"Button Pressed");

UIViewController *detail = [[UIViewController alloc]init];

UIViewController *rootViewController = [UIApplication sharedApplication].delegate.window.rootViewController;
dispatch_async(dispatch_get_main_queue(), ^{
[rootViewController showViewController:detail sender:self];
});

}

它几乎也有效......

遗憾的是,转换将我带到黑屏,当我检查 View 层次结构时,它看起来像 UITransitionView 只是呈现一个空的 View 我实际上可以从也是这个状态。

有人知道如何使这项工作成功吗?

更新:

我可以让它与 UIAlertController 一起工作:

UIAlertController * alert = [UIAlertController
alertControllerWithTitle:name
message:param
preferredStyle:UIAlertControllerStyleAlert];

UIAlertAction *cancelAction = [UIAlertAction actionWithTitle:@"Cancel" style:UIAlertActionStyleCancel handler:^(UIAlertAction * action) {
NSLog(@"Cancel");
}];

[alert addAction:cancelAction];


UIViewController *rootViewController = [UIApplication sharedApplication].delegate.window.rootViewController;
dispatch_async(dispatch_get_main_queue(), ^{
[rootViewController presentViewController:alert animated: YES completion: nil];
});

这似乎按预期工作。

最佳答案

它是黑色的,因为您正在以编程方式初始化 viewController 并将其推送到 UIViewController *detail = [[UIViewController alloc]init];

试试这个:

UIViewController *detail = [[UIViewController alloc] init];
detail.view.backgroundColor = [UIColor whiteColor];

编辑

除非你需要,否则你不应该像那样初始化 View Controller 。您应该使用 storyboards 创建 View Controller 并布置 View ,然后将它们呈现到 UINavigationViewController 上。这里有个好tutorial .

关于ios - React-Native View Component 按钮按下时的原生 iOS 导航,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44912150/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com