swift - 如何让 IKImageEditPanel 快速工作

标签 swift imagekit

我知道我可以双击 IKImageView 并调出编辑面板。在 Objective C 中我可以做到这一点

- (IBAction)editPanel:(id)sender {
    IKImageEditPanel *editor = [IKImageEditPanel sharedImageEditPanel];
    [editor setFrameOrigin:NSMakePoint(400,200)];
    [editor setDataSource:imageView]; // Here imageView is your IKImageView.
    [editor makeKeyAndOrderFront:nil];
}

但是,当我尝试在 swift 中设置数据源时,我收到一条错误消息,提示我无法分配这种类型的 IKImageView!到 IKImageEditPanelDataSource 类型的值!

这是我的代码:

@IBAction func adjustments(sender: NSToolbarItem) {
        let editor = IKImageEditPanel.sharedImageEditPanel()
        editor.setFrameOrigin(NSPoint(x: 400, y: 200))
        editor.dataSource = imageView //Error on this line
        editor.makeKeyAndOrderFront(nil)

    }

最佳答案

来自苹果论坛....

我需要告诉 IKImageView 它应该符合 IKImageEditPanelDataSource。 (它已经这样做了,但我不得不明确地告诉编译器安静)。

在任何类之外...

extension IKImageView: IKImageEditPanelDataSource {


}

关于swift - 如何让 IKImageEditPanel 快速工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30110720/

相关文章:

扩展中 Swift 自定义函数的可用性

xcode - 使用 1000 多个数据点在 Swift 中绘制折线图

objective-c - IKImageView 调整大小是 block 状的

cocoa - IKDeviceBrowserView 在 OSX Mountain Lion 上不显示任何内容

cocoa - IKImageBrowserView "--ImageKit Error: reloadData called in non main thread"

cocoa - 在 cocoa 应用程序中选择 iPhoto 图像

ios - 从未使用有效格式解析的字节加载的Swift DateFormatter字符串

macos - 如何以编程方式添加 NSMenu?

swift - UIButton 蓝牙切换

javascript - DJANGO ImageKit 功能