IMGLYMainEditorViewController完成块问题

时间:2015-10-02 16:57:46

标签: ios swift objective-c-blocks

我在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时,我想在这里设置一个块方法,以便我能够获得该编辑过的图像。

我做了很多尝试,但没有能够做到这一点,因为我对块没有太多了解以及如何处理。所以请帮助我,因为我卡在这里。

1 个答案:

答案 0 :(得分:0)

  1. 删除" temp view"之间的空格。实例名称,
  2. 这是为对象提供完成块的方法:

    IMGLYMainEditorViewController * tempView = [[IMGLYMainEditorViewController alloc] init]; tempView.completionBlock = ^(IMGLYEditorResult result,UIImage * image){ view.highResolutionImage = image; }; [self.navigationController pushViewController:view animated:YES];