粘贴

时间:2015-10-11 17:11:09

标签: ios image swift ios9

我在Swift(Xcode 7.0.1,iOS 9.0.2)中构建键盘扩展。由于图像无法直接插入文本字段,因此我使用UIPasteboard从应用程序中复制图像,然后用户将手动粘贴到文本字段中。我已经修改了info.plist以获得应用程序的完全权限。我最初尝试过

UIPasteboard.generalPasteboard().image = UIImage(named: "1.png")

但我会收到错误

changing property masksToBounds in transform-only layer, will have no effect

我无法找到修复此错误的任何内容,也没有任何内容会粘贴到剪贴板中。然后我尝试了

let image = UIImage(named: "1.png")
let data = NSData(data: UIImagePNGRepresentation(image!)!)
UIPasteboard.generalPasteboard().setData(data, forPasteboardType: "public.png")

这适用于较大的图像,但右侧会裁剪较小的图像。

1)在将图像发送到NSData之前,有没有办法以编程方式将图像调整为UIImage?

2)是否有其他人遇到此问题或知道它为何会发生?理想情况下,我希望粘贴的照片很小,但这显然有问题。

感谢。

1 个答案:

答案 0 :(得分:0)

我还没有找到合适的解决方案,但在图像的右边缘添加一些透明填充是一种有效的解决方法。