草庐IT

Swift UIPasteboard 不复制 PNG

coder 2023-09-10 原文

我的问题真的很奇怪。在模拟器中,.png 可以很好地复制到剪贴板,我可以将图像粘贴到模拟器上的联系人应用程序中。但是当我将应用程序放在手机上时,png 不会复制到剪贴板。

let img = UIImage(named: "myimage")
let data = NSData(data: UIImagePNGRepresentation(img) )
UIPasteboard.generalPasteboard().setData(data, forPasteboardType: "public.png")

那是我正在使用的代码,但正如我所说,它不会复制到剪贴板。我在键盘上下文中使用此代码,尽管在复制到剪贴板时这无关紧要。如果有人有任何想法,请告诉我。提前致谢!哦,这是我在 Swift 中的第一个应用程序,也是我的第一个 iOS 应用程序,所以我没有丰富的经验来判断这是 Swift 问题还是我遗漏了什么。 =\

最佳答案

确保代码在您的主机应用(而非键盘扩展应用)中运行良好。 例如,检查读取的图像是否具有相同的分辨率:

    //the Pasteboard is nil if full access is not granted
    let pbWrapped: UIPasteboard? = UIPasteboard.generalPasteboard()
    if let pb = pbWrapped {
        var type = UIPasteboardTypeListImage[0] as! String
        if (count(type) > 0) && (image != nil) {
            pb.setData(UIImagePNGRepresentation(image), forPasteboardType: type)
            var readDataWrapped: NSData? = pb.dataForPasteboardType(type)
            if let readData = readDataWrapped {
                var readImage = UIImage(data: readData, scale: 2)
                println("\(image) == \(pb.image) == \(readImage)")
            }
        }
    }

如果键盘应用程序中的粘贴板对象为nil,这意味着您没有提供对键盘的完全访问权限:Copying and pasting image into a textbook in simulator

关于Swift UIPasteboard 不复制 PNG,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25912668/

有关Swift UIPasteboard 不复制 PNG的更多相关文章

  1. ruby - 在 Ruby 中将 SVG 转换为 PNG - 2

    我需要在RoR应用程序中将SVG内容转换为光栅图像(最好是PNG)。是否有不涉及ImageMagick的直接方法,或者这是事实上的标准? 最佳答案 通常,ImageMagick被认为是事实上的标准。到目前为止,它已经与多种语言相关联,使用起来应该不会很麻烦。ruby绑定(bind)似乎被称为rmagick。也就是说,您当然可以自己加载和渲染SVG,也许使用librsvg的ruby​​绑定(bind)(尽管从未成功使用过),并使用ruby​​-libpng将其存储为png。什么是RoR应用?

  2. ruby-on-rails - Rails 3 上的 404 err 部署到 AWS...很好,除了 EB 不复制/ondeck 到/current - 2

    当我部署Rails应用程序时,我遇到了一些导致nginx1.2.3404错误的错误。在部署期间,EB说:“错误:某些实例未响应命令。未从[i-a054e9de]收到响应。”我可以登录到我的EC2并在var/app中“mvondecktocurrent”然后“touchcurrent/tmp/restart.txt”然后应用程序将正确部署并正常工作。它具有所有依赖项并正确连接到RDS数据库。问题是:我如何让aws服务器(elasticbeanstalk)进行最后的部署步骤,将ondeck复制到当前?我的配置文件中是否遗漏了什么?是否有我不小心更改了EB配置中的设置?顺便说一句,一切都很好

  3. ruby-on-rails - rails 3.1 ActionController::RoutingError(没有路由匹配 [GET] "/assets/rails.png"): - 2

    标准的新Rails应用程序在显示rails.png时出现问题ActionController::RoutingError(Noroutematches[GET]"/assets/rails.png"):我曾尝试将.png文件移动到Assets和Assets/图像中的各个位置以及旧位置“公共(public)”或“公共(public)/图像”并更改页面,但没有任何帮助。如果您已经看到并解决了这个问题,请回答。我自己尝试了大约20种不同的组合。版本:'rails','3.1.0.rc4' 最佳答案 我刚刚遇到了类似的错误。在我的例子中,我

  4. 如何在Angular应用中而不是Favicon.ico中提供favicon.png? - 2

    我创建了一个新的Angular应用程序:ngnew...我可以使用以下方式查看该应用程序ngserve--open我删除了默认值src/favicon.ico并替换为src/favicon.png。我也打开了src/index.html并更改了适当的行以阅读:这似乎没有起作用。发出GET请求/favicon.png只需返回内容src/index.html。重新启动ngserve没有区别。如何使该文件可以访问该应用程序?看答案制作具有相同名称的PNG图像(即favicon.png)并更改这些文件中的名称。index.htmlAngular.json"assets":["src/favicon.p

  5. javascript - 即时客户端图像到 webp 转换器......但 png 不透明 - 2

    这是将jpg或png转换为webp的工作代码谷歌的新图像格式平均比jpg或png小30-40%1.用Chrome打开2.设置质量3.在页面内放置图片4.等待(取决于大小..先尝试小图片)5.悬停图片查看大小差异6.要将其正确保存为webp,只需单击它基本上chrome添加了将图像/webp和质量添加到toDataURL函数的可能性canvas.toDataURL('image/webp',quality(0-1))压缩很棒。但我有一个小问题...png不透明..它会是什么?也许将Canvas设置为透明?怎么办?html,body{width:100%;height:100%;margi

  6. javascript - Gulp glob 忽略文件类型而不复制空文件夹 - 2

    我为gulp创建了一个glob,它忽略了一组目录中的javascript和coffeescript文件。我希望它将所有其他文件复制到一个工作正常的目录中。唯一的问题是,当只有javascript或coffeescript文件时,它会复制一个空文件夹。知道如何修改这个glob以不复制空文件夹吗?gulp.task('copyfiles',function(){gulp.src('apps/*/static_src/**/!(*.js|*.coffee)').pipe(gulp.dest('dest'));});示例源文件:apps/appname/static_src/images/im

  7. javascript - 将组件重新绘制为 PNG - 2

    我目前有一个Recharts组件,我想将其导出为PNG文件。(this.currentChart=chart)}width={this.state.width}height={this.state.height}data={this.testData}margin={{top:5,right:30,left:20,bottom:5}}>;但我不确定图书馆是否直接支持这一点。我有一个想法,涉及使用Canvas和2D渲染上下文让我接近解决方案,如MDN中所述。但是,我不确定将HTML元素(或React组件)呈现为Canvas以实现此解决方案的通用方法。我可能做错了这一切,我将不胜感激!

  8. javascript - 我怎么知道我是在点击网页上 png 的透明部分还是非透明部分? - 2

    我们有一个多年前在Flash中开发的测验,它使用点击区域来确定是否有人点击了图像的适当部分(想想“解剖测验”)。这些命中区域的轮廓非常繁琐,无法重复使用轮廓坐标数据...现在,我们正尝试用HTML重新做这件事--所以,我们有一个股骨的背景图像和一个png,它在Z顺序中位于更高的位置,其中一部分完全透明,而其他部分有50%的灰色。这用于告诉学生背景股骨图像上的什么地方。我希望能够在“测验模式”中使用来自该pngmask层的数据来确定学生是否正确点击了股骨的特定部分...我正在考虑设置maskpng到100%透明度(因此学生看不到它),但如果浏览器知道他们点击了图像的正确区域(即蒙版上10

  9. javascript - 使用 photoshop 脚本保存 png 不起作用 - 2

    if(app.documents.length!=0){vardoc=app.activeDocument;for(i=0;i每当我运行上面的脚本,而不是将文件保存为1.png、2.png、3.png等时,它会打开保存对话框并提示我输入文件名并单击保存。我做错了什么? 最佳答案 显然,在为photoshop编写脚本时,保存PNG与保存JPEG有很大不同。以下适用于PNG:if(app.documents.length!=0){vardoc=app.activeDocument;for(i=0;i

  10. javascript - 如何将png图像数据数组转换为视频文件 - 2

    我正在通过canvas.getDataURL()从canvas获取帧。但是,现在我有一组png图像,但我想要一个视频文件。我该怎么做?varcanvas=document.getElementById("mycanvaselementforvideocapturing");varpngimages=[];...setInterval(function(){pngimages.push(canvas.toDataURL())},1000); 最佳答案 要获得完整的浏览器支持方式,您必须将图像批处理发送到服务器,然后使用一些服务器端程序

随机推荐