【发布时间】:2019-11-27 01:16:31
【问题描述】:
在下图中,我希望黑色的小矩形覆盖右上角的绿色心形按钮。当主图像的大小发生变化时,黑色矩形应调整大小并覆盖心脏图像。
我怎样才能用 SwiftUI 做这样的事情?
到目前为止我试图弄清楚的事情:
- 我想我需要一些方法来转换矩形的点大小以调整为调整大小图像的大小。我不知道如何用 SwiftUI 做到这一点
- 我想我需要以某种方式
GeometryReader?
图片如下:
【问题讨论】:
在下图中,我希望黑色的小矩形覆盖右上角的绿色心形按钮。当主图像的大小发生变化时,黑色矩形应调整大小并覆盖心脏图像。
我怎样才能用 SwiftUI 做这样的事情?
到目前为止我试图弄清楚的事情:
GeometryReader?图片如下:
【问题讨论】:
您应该能够在叠加层中使用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)
}
})
}
【讨论】: