首页 > 解决方案 > SwiftUI 无法在 HStack 的 Spacer 中点击

问题描述

我有一个列表视图,列表的每一行都包含一个带有一些文本视图和图像的 HStack,如下所示:

HStack{
    Text(group.name)
    Spacer()
    if (groupModel.required) { Text("Required").color(Color.gray) }
    Image("ic_collapse").renderingMode(.template).rotationEffect(Angle(degrees: 90)).foregroundColor(Color.gray)
}.tapAction { self.groupSelected(self.group) }

这似乎工作得很好,除非我点击我的文本和图像(在哪里Spacer())之间的空白部分,点击动作没有注册。只有当我点击文本或图像时才会发生点击动作。

有没有其他人遇到过这个问题/知道解决方法?

标签: iosswiftswiftui

解决方案


正如我最近了解到的,还有:

HStack {
  ...
}
.contentShape(Rectangle())
.onTapGesture { ... }

对我来说效果很好。


推荐阅读