let editAsset: EditorAsset
if let image = image {
editAsset = EditorAsset(type: .image(image), result: nil)
} else if let videoURL = videoURL {
editAsset = EditorAsset(type: .video(videoURL), result: nil)
} else {
// 如果没有媒体文件,返回一个空的控制器
return UIViewController()
}
var editorConfig = EditorConfiguration()
// 配置编辑器
configureEditor(&editorConfig)
// 直接使用闭包回调
let editorVC = EditorViewController(
editAsset,
config: editorConfig,
finish: { asset, editor in
HXPhotoEditorView.extractEditedMedia(from: asset, editor: editor) { result in
DispatchQueue.main.async {
context.coordinator.parent.onCompletion(result)
}
}
},
cancel: { editor in
DispatchQueue.main.async {
context.coordinator.parent.onCompletion(nil)
}
}
)
let navController = UINavigationController(rootViewController: editorVC)
return navController
}
func makeUIViewController(context: Context) -> UIViewController {
PickerConfiguration.imageViewProtocol = SDImageView.self