我用我的Objective-C代码成功实现了imglyKit,该库是用快速语言编写的。现在,我从我的viewcontroller打开一个IMGLYMainEditorViewController。
我的问题是,当图像被编辑时,当我按下完成按钮时,我没有得到编辑后的图像。我检查了代码,并证明它们在打开IMGLYMainEditorViewController时设置了完成块。
这是写在库中的代码。
let editorViewController = IMGLYMainEditorViewController()
editorViewController.highResolutionImage = image
if let cameraController = cameraController {
editorViewController.initialFilterType = cameraController.effectFilter.filterType
editorViewController.initialFilterIntensity = cameraController.effectFilter.inputIntensity
}
editorViewController.completionBlock = editorCompletionBlock
private func editorCompletionBlock(result: IMGLYEditorResult, image: UIImage?) {
if let image = image where result == .Done {
UIImageWriteToSavedPhotosAlbum(image, self, "image:didFinishSavingWithError:contextInfo:", nil)
}
dismissViewControllerAnimated(true, completion: nil)
}
我在控制器中编写了这段代码。
IMGLYMainEditorViewController *temp view = [[IMGLYMainEditorViewController alloc]init];
view.highResolutionImage = self.image_view.image;
[self.navigationController pushViewController:view animated:YES];
当我打开IMGLYMainEditorViewControlle时,我想在此处设置一个块方法,以便能够获取该编辑图像。
我做了很多尝试,但无法做到这一点,因为我对街区以及如何处理该街区知识不多。所以请帮助我,因为我被困在这里。
最佳答案
删除“临时视图”实例名称之间的空格,
这是为对象提供完成块的方式:
IMGLYMainEditorViewController * tempView = [[IMGLYMainEditorViewController alloc] init];
tempView.completionBlock = ^(IMGLYEditorResult结果,UIImage *图像){
view.highResolutionImage =图片;
};
[self.navigationController pushViewController:view animation:YES];