Как заставить IKImageEditPanel работать в swift
Я знаю, что могу дважды щелкнуть IKImageView и вызвать панель редактирования. И в Objective C I можно сделать это
- (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)
}
1 ответ
Решение
С яблочных форумов....
Мне нужно было сказать IKImageView, что он должен соответствовать IKImageEditPanelDataSource. (Он уже делает это, но мне пришлось явно сказать об этом тихому компилятору).
Вне любого класса...
extension IKImageView: IKImageEditPanelDataSource {
}