问题描述
ZStack {
UIKitView //PKCanvasView
.zIndex(1)
SwiftUIView //SwiftUI view which has a gesture recogniser
.zIndex(0)
}
我想知道让 SwiftUI
视图下方的 UIKit
视图同时交互的最佳方法是什么。
如果 SwiftUI
视图在顶部的 UIKit 视图上有一个 higher priority gesture
,则效果最佳。
我的 UIKit 可表示视图如下:
struct CanvasView: UIViewRepresentable {
@Binding var canvasView: PKCanvasView
@Binding var isFirstResponder: Bool
@State var toolPicker = PKToolPicker()
func makeUIView(context: Context) -> PKCanvasView {
canvasView.drawingPolicy = .pencilOnly
canvasView.backgroundColor = .clear
canvasView.isOpaque = false
canvasView.alwaysBounceVertical = true
canvasView.alwaysBounceHorizontal = true
toolPicker.setVisible(true,forFirstResponder: canvasView)
toolPicker.addobserver(canvasView)
//canvasView.becomeFirstResponder()
return canvasView
}
func updateUIView(_ uiView: PKCanvasView,context: Context) {
if isFirstResponder != uiView.isFirstResponder {
if isFirstResponder {
uiView.becomeFirstResponder()
} else {
uiView.resignFirstResponder()
}
}
}
}
理想情况下,我想处理 SwiftUI
中的视图分层,因为实际上在画布视图下方有多个 SwiftUI
视图,当按住并拖动时(这是我应用的复合手势)他们)应该出现在它上面。 (这是使用动态 zIndex
实现的)。我对 UIKit
不太满意,不知道如何使用子视图和 UIViewRepresentable
结构在那里执行此操作。
任何帮助将不胜感激!
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)