ios - PHAdjustmentData 在 "startContentEditingWithInput"中为零
<p><p>我正在开发一个照片编辑扩展应用程序,我希望它能够将有关所做更改的信息保存到 PHAdjustmentData 中,以便用户以后可以修改这些更改。我将所有需要的数据保存到 PHAdjustmentData 中,但是,下次我编辑图像时 - PHAdjustmentData 为零。
这是一个示例代码:</p>
<pre><code>@property (strong, nonatomic) PHContentEditingOutput *output;
- (void)startContentEditingWithInput:(PHContentEditingInput *)contentEditingInput placeholderImage:(UIImage *)placeholderImage
{
self.output = [ initWithContentEditingInput:contentEditingInput];
// here contentEditingInput.adjustmentData is always nil
}
- (void)finishContentEditingWithCompletionHandler:(void (^)(PHContentEditingOutput *))completionHandler
{
NSMutableDictionary *dict = ;
;
;
NSData *adjData = ;
PHAdjustmentData *phAdjData = [ initWithFormatIdentifier:@"ident" formatVersion:@"1.0" data:adjData];
self.output.adjustmentData = phAdjData;
NSData *data = UIImageJPEGRepresentation(result, 1.0);
;
completionHandler(self.output);
}
</code></pre>
<p>如何正确保存调整数据,以便下次用户编辑图像时可以访问它?谢谢!</p></p>
<br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
<p><p>仅当您同意处理这些数据时,PhotoKit 才会在 <code>startContentEditingWithInput</code> 中为您提供调整数据。您同意实现 <a href="https://developer.apple.com/library/ios/documentation/PhotosUI/Reference/PHContentEditingController_Protocol/index.html#//apple_ref/occ/intfm/PHContentEditingController/canHandleAdjustmentData:" rel="noreferrer noopener nofollow"><code>canHandleAdjustmentData</code></a>检查调整的格式标识符和版本,然后为您可以处理的格式返回 true。 </p>
<p>如果您从 <code>canHandleAdjustmentData</code> 返回 false,那么您将在 <code>startContentEditingWithInput</code> 中获得零调整数据。不仅如此,您还将获得照片图像的预编辑版本,因此您无法处理上次编辑之前的样子。 </p></p>
<p style="font-size: 20px;">关于ios - PHAdjustmentData 在"startContentEditingWithInput"中为零,我们在Stack Overflow上找到一个类似的问题:
<a href="https://stackoverflow.com/questions/26321523/" rel="noreferrer noopener nofollow" style="color: red;">
https://stackoverflow.com/questions/26321523/
</a>
</p>
页:
[1]