我在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时,我想在这里设置一个块方法,以便我能够获得该编辑过的图像。
我做了很多尝试,但没有能够做到这一点,因为我对块没有太多了解以及如何处理。所以请帮助我,因为我卡在这里。
答案 0 :(得分:0)
这是为对象提供完成块的方法:
IMGLYMainEditorViewController * tempView = [[IMGLYMainEditorViewController alloc] init]; tempView.completionBlock = ^(IMGLYEditorResult result,UIImage * image){ view.highResolutionImage = image; }; [self.navigationController pushViewController:view animated:YES];