我正在尝试编写一个本机模块来包装iOS组件。
在我的RCT_CUSTOM_VIEW_PROPERTY
方法中,我希望能够访问提供给我的组件的道具。
我似乎无法找到任何办法。
我已尝试使用- (UIView *)view
并在我的Obj-C代码中设置属性,但该属性似乎是在调用并呈现- (UIView *)view
{
PKPaymentButtonType type = [self.aPropOnMyObject isEqualToString:@"setup"] ? PKPaymentButtonTypeSetUp : PKPaymentButtonTypeBuy;
return [PKPaymentButton buttonWithType:type style:PKPaymentButtonStyleWhiteOutline];
}
方法后设置的。
我需要这样做的原因是我试图从我的view方法中渲染ApplePay按钮,我希望能够通过在我的组件上设置prop来更改按钮的类型。 E.g:
NSURL *url = [NSURL fileURLWithPath:[[NSBundle mainBundle] pathForResource:@"simulation" ofType:@"mp4"]];
MPMoviePlayerViewController *moviePlayerViewController = [[MPMoviePlayerViewController alloc] initWithContentURL:url];
[self presentMoviePlayerViewControllerAnimated:moviePlayerViewController];
答案 0 :(得分:0)
您可以通过以下方式在视图上调用方法:
RCT_CUSTOM_VIEW_PROPERTY(aPropOnMyObject, NSString, PKPaymentButtonType)
{
// view is what you returned from `view` method,
// json is the NString value from React-Native
[view setButtonType:(json && json == "setup") ? PKPaymentButtonTypeSetUp : PKPaymentButtonTypeBuy];
}
- (UIView *)view
{
return [PKPaymentButton style:PKPaymentButtonStyleWhiteOutline];
}