问题描述
在 SwiftUI 中使用UIViewController
,我需要为两个按钮分配选择器。这些必须是@objc
,但我得到了错误:
无法将方法标记为@objc,因为无法在Objective-C中表示参数的类型
struct ScanPreView: UIViewControllerRepresentable {
class Coordinator: NSObject {
var parent: ScanPreView
init(_ parent: ScanPreView) {
self.parent = parent
}
@objc func dismissPreviewedScanTapped(sender: ScanPreView) {
}
@objc func savePreviewedSceneTapped(sender: ScanPreView) {
}
}
func makeCoordinator() -> Coordinator {
Coordinator(self)
}
func makeUIViewController(context: Context) -> ScenePreviewViewController {
let preview = ScenePreviewViewController(pointCloud: pointCloud,meshTexturing: meshTexturing,landmarks: nil)
preview.leftButton.addTarget(context.coordinator,action: #selector(Coordinator.dismissPreviewedScanTapped(sender:)),for: UIControl.Event.touchUpInside)
preview.rightButton.addTarget(context.coordinator,action: #selector(Coordinator.savePreviewedSceneTapped(sender:)),for: UIControl.Event.touchUpInside)
return preview
}
}
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)