Cocos2d-x中C++与OC的混编实现剪切板的复制粘贴

Cocos2d-x中C++与OC的混编实现剪切板的复制粘贴,第1张

概述首先,在Cocos中我们如果要对当前系统的剪切板进行编辑的话,就必须先判断当前用的是什么系统 于是我们在预编译的时候先判断一下系统(本篇只讲iOS): void ClipboardHelper::copyStr(std::string str) {#if (CC_TARGET_PLATFORM == CC_PLATFORM_IOS) //iOS平台 iOSClipboard::c

首先,在Cocos中我们如果要对当前系统的剪切板进行编辑的话,就必须先判断当前用的是什么系统

于是我们在预编译的时候先判断一下系统(本篇只讲iOS):

voID ClipboardHelper::copyStr(std::string str) {#if (CC_TARGET_PLATFORM == CC_PLATFORM_IOS)    //iOS平台    iOSClipboard::copy(str);#elif (CC_TARGET_PLATFORM == CC_PLATFORM_ANDROID)    //AndroID平台#endif}

可以看到我在这里调用了一个iOSClipboard类,下面我们来实现它。

首先我们来建一个OC文件,扩展名为.m,然后再建一个与它名字相同的.h文件。

重点来了,我们把.m文件的扩展名改为.mm,这样的话它就会变成一个C++与OC的混编文件,使C++可以调用到他。

现在.h代码如下:

#include <stdio.h>#include "cocos2d.h"class iOSClipboard {    public:    static voID copy(std::string str);};

.mm中这样实现:
#include "iOSClipboard.h"#import <Foundation/Foundation.h>voID iOSClipboard::copy(std::string str) {    //把string类型转换成为char*    char*p=(char*)str.data();        //把char*转换成OC的Nsstring    Nsstring *nsMessage= [[Nsstring alloc] initWithCString:p enCoding:NSUTF8StringEnCoding];        //获得iOS的剪切板    UIPasteboard *pasteboard = [UIPasteboard generalPasteboard];        //改变剪切板的内容    pasteboard.string = nsMessage;}
当然,在这里还可以加入更多的方法,来实现C++调用OC 总结

以上是内存溢出为你收集整理的Cocos2d-x中C++与OC的混编实现剪切板的复制粘贴全部内容,希望文章能够帮你解决Cocos2d-x中C++与OC的混编实现剪切板的复制粘贴所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1076192.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-26
下一篇 2022-05-26

发表评论

登录后才能评论

评论列表(0条)

保存