即使在 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 的点?的主要内容,如果未能解决你的问题,请参考以下文章

跪求:在ARCGIS中,如何将若干个点转成线,或者转成面

SwiftUI:如何调整 UIViewRepresentable 输出的大小?

在发生自调整大小之前,如何准确地为 UICollectionViewLayout 提供矩形中的元素?

如何根据文本宽度动态调整 SVG 矩形的大小?

如何在不包含(或少量)背景像素的情况下调整对象内的矩形或调整其大小?

SwiftUI:滚动视图中的顶部锚定可调整大小视图