Swift 快速放大镜

Swift 快速放大镜,swift,swiftui,Swift,Swiftui,我试图在VStack中呈现两个SwiftUI视图 struct ContentView:View{ 让内容=/[…] 让放大镜=/[…] var body:一些观点{ VStack{ 自满 自动放大镜 } } } 第一个视图(即内容)是文本视图,第二个视图(即放大镜)只是具有给定比例和偏移的第一个视图的放大镜。这基本上是一些notes应用程序的“缩放”功能,例如,显著性 使用UIKit,我可以编写一个类放大镜:UIView,并在其draw()函数中 override func draw(rec

我试图在
VStack
中呈现两个SwiftUI视图

struct ContentView:View{
让内容=/[…]
让放大镜=/[…]
var body:一些观点{
VStack{
自满
自动放大镜
}
}
}
第一个视图(即
内容
)是
文本视图
,第二个视图(即
放大镜
)只是具有给定比例和偏移的第一个视图的放大镜。这基本上是一些notes应用程序的“缩放”功能,例如,显著性

使用UIKit,我可以编写一个类
放大镜:UIView
,并在其
draw()函数中

override func draw(rect:CGRect){
let context=UIGraphicsGetCurrentContext()
// [...]
self.contentView.layer.render(在:上下文中)
}

我们可以用SwiftUI做类似的事情吗?或者我们必须使用UIKit和UIViewRepresentable吗?

您可以研究放大手势,可以帮助您获得图像我认为问题在于您只有一个视图:图像。在我的例子中,我希望在两个不同的位置渲染视图:在
内容中
,在
放大镜中
,使用缩放。我将使用ZStack,其中一个视图的缩放比例为1.0,并以X缩放(放大)重复相同的视图。然后使用SwiftUI蒙版(动画)跟随屏幕触摸,并根据需要显示缩放覆盖。您可以研究放大手势,可能有助于图像。我认为问题在于您只有一个视图:图像。在我的例子中,我希望在两个不同的位置渲染视图:在
内容中
,在
放大镜中
,使用缩放。我将使用ZStack,其中一个视图的缩放比例为1.0,并以X缩放(放大)重复相同的视图。然后使用快捷界面遮罩(动画)跟随屏幕触摸,并根据需要显示缩放覆盖。