我正在尝试在轻按URL
其中一个单元格时打开 a 。List
我尝试将修饰符添加onTapGesture
到单元格本身,然后调用UIApplication.shared.open(url)
,但这仅在点击正确在单元格视图的元素上(而不是在单元格的背景上)时才有效。
我还尝试将背景视图(矩形)添加到不透明度为 0.01 的单元格中,但尽管这可行,但尽管不透明度很低,但矩形仍然非常明显。
是否有任何解决方法可以使整行可点击?
我正在尝试在轻按URL
其中一个单元格时打开 a 。List
我尝试将修饰符添加onTapGesture
到单元格本身,然后调用UIApplication.shared.open(url)
,但这仅在点击正确在单元格视图的元素上(而不是在单元格的背景上)时才有效。
我还尝试将背景视图(矩形)添加到不透明度为 0.01 的单元格中,但尽管这可行,但尽管不透明度很低,但矩形仍然非常明显。
是否有任何解决方法可以使整行可点击?
找到了一个解决方案,以防将来对任何人有帮助:
// 编辑:
在操作闭包中使用了单个Button
, 与所需的操作(即openURL
在我的情况下),并在label
闭包中返回了我的自定义视图。
@stakri,你要找的是“.contentShape()”
Rectangle()
.stroke()
.onTapGesture() {
UIApplication.shared.open(URL(string: "https://stackoverflow.com")!)
}
上面的代码只有在你点击矩形的'stroke'轮廓时才会起作用,但是 .contentShape() 将使整个区域都可以点击,而无需将其嵌套在 Stack 中:
Rectangle()
.stroke()
.contentShape( Rectangle() )
.onTapGesture() {
UIApplication.shared.open(URL(string: "https://stackoverflow.com")!)
}
其他人来这个问题可能会寻找如何专门打开一个 URL,你会注意到我强制解开我的 URL。对此开放反馈,但除非提出任何问题,否则效果很好。