Ios 确定SwiftUI中的形状/视图是否覆盖现有形状/视图
我有一个简单的应用程序,可以在屏幕上显示一些形状,但目前用户可以屏蔽现有的形状,这是我想要避免的 首先,下面是一些简单的代码,用于为我的项目提供MVP:Ios 确定SwiftUI中的形状/视图是否覆盖现有形状/视图,ios,swiftui,shapes,Ios,Swiftui,Shapes,我有一个简单的应用程序,可以在屏幕上显示一些形状,但目前用户可以屏蔽现有的形状,这是我想要避免的 首先,下面是一些简单的代码,用于为我的项目提供MVP: import SwiftUI struct ContentView: View { var body: some View { ZStack { Circle() .fill(Color.red) .frame(width: 44,
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中找到可以确定形状是否完全覆盖的东西。您可以尝试将每个形状表示为一个具有其自身大小和坐标(x和y)的结构。现有形状将放入阵列中。每当用户拖动该形状时,您都会更新该值,并检查其大小和坐标是否与数组中的某个形状相同(您可以在手势结束时或手势发生时执行该操作。这取决于您)。若条件满足,你们要么将静态形状移开一些k,要么以任何方式向用户显示他不能在那个地方放置形状