我有一个简单的应用程序,它将在屏幕上放置一些形状,但是用户目前可以掩盖现有形状,这是我想避免的。
首先,下面是一些简单的代码,可为我的项目提供MVP:
import SwiftUI
struct ContentView: View {
var body: some View {
ZStack {
Circle()
.fill(Color.red)
.frame(width: 44,
height: 44)
.zIndex(1.0)
Circle()
.fill(Color.blue)
.frame(width: 55,
height: 55)
.zIndex(2.0)
}
}
}
此图显示了上面的代码:
但是,当zIndex
翻转时,如此处所示,蓝色完全遮住了红色。
我希望用户不能执行此操作,但是我还没有在SwiftUI中找到可以确定形状是否被完全覆盖的东西。
答案 0 :(得分:0)
您可以尝试将每个形状表示为具有其自身大小和坐标(x和y)的结构。现有形状将以阵列形式放置。每当用户拖动形状时,您都将更新值并检查其大小和坐标是否与数组中的某个形状相同(您可以在手势结束时或手势发生时进行操作,这取决于您)。如果满足条件,则可以将静态形状移开 k 或以任何方式向用户显示他无法在该位置掉落形状