【问题标题】:Photo Editing Extension Questions (iOS 8)照片编辑扩展问题 (iOS 8)
【发布时间】:2023-04-06 22:14:02
【问题描述】:

我在照片编辑扩展中遇到了一些问题,请帮助。

1) 图像似乎没有改变。

在照片编辑扩展中,如果我想提交一个已经过滤的图像(self.filterImage),我创建一个 JPEG 表示,写入输出呈现的 URL...但是当“完成”时,图像被替换,但是当我在 iPhoto 或 Image Capture 中查看它们,它们还是一样的。

func finishContentEditingWithCompletionHandler(completionHandler: ((PHContentEditingOutput!) -> Void)!) {
  dispatch_async(dispatch_get_global_queue(CLong(DISPATCH_QUEUE_PRIORITY_DEFAULT), 0)) {
    let output = PHContentEditingOutput(contentEditingInput: self.input)
    output.adjustmentData = PHAdjustmentData(formatIdentifier:"virtualgs.retrocam", formatVersion:"1.0", data:nil)

    let jpegData = UIImageJPEGRepresentation(self.filterImage!, 1.0)
    jpegData.writeToURL(output.renderedContentURL, atomically: true)
    completionHandler?(output)
  }
}

2) 不支持手势?

我实现了滑动,确保启用了用户交互,但滑动时没有任何反应。滑动或其他手势对其他人是否有效?

【问题讨论】:

    标签: swift ios8 photo


    【解决方案1】:

    您需要为您的更改设置一个有效的,而不是零的 NSData 表示。如果您的adjustmentData.data 为nil,则系统认为没有执行任何更改。正如 Apple 在文档中描述的那样,最好提供可在 startContentEditingWithInput 处使用的编辑的描述或序列化,以重新创建最后一个编辑会话。

    【讨论】:

    • 感谢您的回复。是否有可能使其具有破坏性(而不是重新创建上一个会话) - 即新照片替换旧照片。你能指出任何示例代码吗?
    • 您为什么要这样做?作为用户,我相信我可以在需要时撤消/优化我的编辑。
    猜你喜欢
    • 2014-12-09
    • 2014-10-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-08-17
    • 1970-01-01
    • 2018-11-07
    • 1970-01-01
    相关资源
    最近更新 更多