gpt4 book ai didi

react-native - React Native Clipboard - 如何复制图像或文本以外的任何内容?

转载 作者:行者123 更新时间:2023-12-04 11:19:59 29 4
gpt4 key购买 nike

在 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


  • 然后你可以在你的 React 应用程序中使用它:


  • import { NativeModules } from 'react-native';

    NativeModules.BetterClipboard.addBase64Image(base64EncodedImage);


    不幸的是,我不知道如何为 Android 做同样的事情。

    关于react-native - React Native Clipboard - 如何复制图像或文本以外的任何内容?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44347890/

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