即使在 SwiftUI 中调整矩形大小,如何将点转换为 Rectangle 的点?
Posted
技术标签:
【中文标题】即使在 SwiftUI 中调整矩形大小,如何将点转换为 Rectangle 的点?【英文标题】:How to have a point translate to a point of a Rectangle even when the rectangle resizes in SwiftUI? 【发布时间】:2019-11-27 01:16:31 【问题描述】:在下图中,我希望黑色的小矩形覆盖右上角的绿色心形按钮。当主图像的大小发生变化时,黑色矩形应调整大小并覆盖心脏图像。
我怎样才能用 SwiftUI 做这样的事情?
到目前为止我试图弄清楚的事情:
-
我想我需要一些方法来转换矩形的点大小以调整为调整大小图像的大小。我不知道如何用 SwiftUI 做到这一点
我想我需要以某种方式
GeometryReader
?
图片如下:
【问题讨论】:
【参考方案1】:您应该能够在叠加层中使用GeometryReader
。
var body: some View
Color.green.frame(width: 320, height: 320) // Pretend this is your image
.overlay(
GeometryReader proxy in
ZStack(alignment: .topTrailing)
Color.clear // Fill the whole space
Color.red // Your desired overlay
.frame(width: proxy.frame(in: .local).width/10.0, // Whatever proportions you want
height: proxy.frame(in: .local).height/10.0)
)
【讨论】:
以上是关于即使在 SwiftUI 中调整矩形大小,如何将点转换为 Rectangle 的点?的主要内容,如果未能解决你的问题,请参考以下文章
SwiftUI:如何调整 UIViewRepresentable 输出的大小?
在发生自调整大小之前,如何准确地为 UICollectionViewLayout 提供矩形中的元素?