ios - SwiftUI 无法点击 HStack 的 Spacer

标签 ios swift swiftui

我有一个 ListView ,列表的每一行都包含一个带有一些 TextView 和图像的 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() 所在的位置)时,点击操作未注册。仅当我点击文本或图像时才会发生点击操作。

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

最佳答案

我最近了解到还有:

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

对我来说效果很好。

关于ios - SwiftUI 无法点击 HStack 的 Spacer,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57191013/

相关文章:

swift - 为什么在初始化程序中设置时调用 didSet?

ios - SwiftUI - 如何仅在顶部显示阴影?

ios - 如何访问以字符串为键、任意数组为值的字典内容?

ios - 在 iPad 或 iPhone 上无需 UI 发送电子邮件的替代方法

ios - 保存 UIFont?到 UserDefault Swift 3

swift - 如何使用 Swift 以编程方式创建 Hexagon UIButton 或 Clickable ImageView

ios - 在共享扩展中旋转图像

ios - iOS Swift numberOfSectionsInTableView VS numberOfRowsInSection

swift - 能够写入/读取文件但无法删除文件 SWIFT

ios - View 以 super View 为中心,在 SwiftUI 中 View 位于其顶部