如何在 SwiftUI List 中制作整行可触摸区域?

Posted

技术标签:

【中文标题】如何在 SwiftUI List 中制作整行可触摸区域?【英文标题】:How can I make the whole line touchable area in SwiftUI List? 【发布时间】:2020-09-26 09:15:51 【问题描述】:

此代码仅在您触摸文本时有效。如何使整行可触摸区域?

List(viewModel.countries) )  country in
        Text(country.name)
            .padding(.vertical, 12)
            .onTapGesture 
                self.countryName = country.name
                self.countryId = country.countryId
                self.presentationMode.wrappedValue.dismiss()
        
    

【问题讨论】:

【参考方案1】:

在这里

    Text(country.name)
        .frame(maxWidth: .infinity, maxHeight: .infinity, alignment: .leading)
        .contentShape(Rectangle())         
        .onTapGesture 

【讨论】:

只需将Button 添加到您的列表中,它将自动将所有单元格区域贴上胶带,并具有很好的点击效果...而不是使用框架

以上是关于如何在 SwiftUI List 中制作整行可触摸区域?的主要内容,如果未能解决你的问题,请参考以下文章

如何使整行可点击?

使检票口数据表的整行可点击

如何在 SwiftUI 中使整个列表行成为 NavigationLink

使整行可点击

在 SwiftUI 中使列表行可选

nz-table复选功能改造(整行可选)