gpt4 book ai didi

macos - SwiftUI:双击 macOS 列表行中的空白?

转载 作者:行者123 更新时间:2023-12-04 12:09:07 26 4
gpt4 key购买 nike

我试图让整行都可以双击。
这是我的代码:

import SwiftUI

let colourArray = ["red","blue","green"]
struct ContentView: View
{
var body: some View
{
List
{
ForEach (colourArray, id: \.self)
{ colour in
ArrayRow(colour: colour)
.gesture(TapGesture(count: 2).onEnded
{
print("double clicked")
})
.padding(.bottom, 15)
}
}
}
}

struct ArrayRow: View
{
let colour: String

var body: some View
{
HStack(alignment: .top)
{
Text(colour)
.frame(width: 150, alignment: .leading)
Text(colour)
.frame(width: 150, alignment: .leading)
Text(colour)
.frame(width: 150, alignment: .leading)
}
}
}

struct ContentView_Previews: PreviewProvider {
static var previews: some View {
ContentView()
}
}
双击效果很好,但前提是您双击文本。如果您双击空白区域,则什么也不会发生。如何让整行响应双击?

最佳答案

您可以使用 .contentShape 扩展可点击/可点击区域

ArrayRow(colour: colour)
.contentShape(Rectangle())
.gesture(TapGesture(count: 2).onEnded
{
print("double clicked")
})
.padding(.bottom, 15)

关于macos - SwiftUI:双击 macOS 列表行中的空白?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68268002/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com