我正在开发一个照片编辑扩展应用程序,我希望它能够将有关所做更改的信息保存到 PHAdjustmentData 中,以便用户以后可以修改这些更改。我将所有需要的数据保存到 PHAdjustmentData 中,但是,下次我编辑图像时 - PHAdjustmentData 为零。 这是一个示例代码:
@property (strong, nonatomic) PHContentEditingOutput *output;
- (void)startContentEditingWithInputPHContentEditingInput *)contentEditingInput placeholderImageUIImage *)placeholderImage
{
self.output = [[PHContentEditingOutput alloc] initWithContentEditingInput:contentEditingInput];
// here contentEditingInput.adjustmentData is always nil
}
- (void)finishContentEditingWithCompletionHandlervoid (^)(PHContentEditingOutput *))completionHandler
{
NSMutableDictionary *dict = [NSMutableDictionary dictionary];
[dict setObject"value1" forKey"key1"];
[dict setObject"value2" forKey"key2"];
NSData *adjData = [NSKeyedArchiver archivedDataWithRootObject:dict];
PHAdjustmentData *phAdjData = [[PHAdjustmentData alloc] initWithFormatIdentifier"ident" formatVersion"1.0" data:adjData];
self.output.adjustmentData = phAdjData;
NSData *data = UIImageJPEGRepresentation(result, 1.0);
[data writeToURL:self.output.renderedContentURL options:NSDataWritingAtomic error:nil];
completionHandler(self.output);
}
如何正确保存调整数据,以便下次用户编辑图像时可以访问它?谢谢!
仅当您同意处理这些数据时,PhotoKit 才会在 startContentEditingWithInput
中为您提供调整数据。您同意实现 canHandleAdjustmentData
检查调整的格式标识符和版本,然后为您可以处理的格式返回 true。
如果您从 canHandleAdjustmentData
返回 false,那么您将在 startContentEditingWithInput
中获得零调整数据。不仅如此,您还将获得照片图像的预编辑版本,因此您无法处理上次编辑之前的样子。
关于ios - PHAdjustmentData 在 "startContentEditingWithInput"中为零,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26321523/
欢迎光临 OStack程序员社区-中国程序员成长平台 (https://ostack.cn/) | Powered by Discuz! X3.4 |