3
在React Native中,使用剪贴板,我如何将图像放入剪贴板?提供的用于设置剪贴板内容的唯一方法是“setString”。你能不能设置图像或其他内容而不是字符串?反应本机剪贴板 - 如何复制图像或文本以外的任何东西?
在React Native中,使用剪贴板,我如何将图像放入剪贴板?提供的用于设置剪贴板内容的唯一方法是“setString”。你能不能设置图像或其他内容而不是字符串?反应本机剪贴板 - 如何复制图像或文本以外的任何东西?
可以桥接本机iOS剪贴板API并公开setImage
方法。要做到这一点,你需要:
Clipboard.h
:#import "RCTBridgeModule.h"
@interface Clipboard : NSObject <RCTBridgeModule>
@end
Clipboard.m
。我们需要复制base64编码的图像,但可以调整代码使用任何其他图像表示:#import <UIKit/UIKit.h>
#import <MobileCoreServices/UTCoreTypes.h>
#import "Clipboard.h"
@implementation Clipboard
RCT_EXPORT_MODULE(BetterClipboard); // this is how our native module will be named
RCT_EXPORT_METHOD(addBase64Image:(NSString *)base64Image) {
UIPasteboard *pasteboard = [UIPasteboard generalPasteboard];
[pasteboard setPersistent:YES];
NSData *imageData = [[NSData alloc]initWithBase64EncodedString:base64Image options:NSDataBase64DecodingIgnoreUnknownCharacters];
[pasteboard setImage:[UIImage imageWithData:imageData]];
}
@end
import { NativeModules } from 'react-native';
NativeModules.BetterClipboard.addBase64Image(base64EncodedImage);
不幸的是,我不知道如何为Android做同样的事情。