gpt4 book ai didi

ios - 如何使用 SwiftUI 删除列表上的突出显示?

转载 作者:行者123 更新时间:2023-12-02 01:38:44 26 4
gpt4 key购买 nike

如何使用 SwiftUI 删除列表上的突出显示?

List {

}.whatModifierToAddHere?

selection manager documentation没有说什么。

最佳答案

我知道我有点晚了,但这是为了那些正在寻找的人(像我😇)

我发现了什么

我想你应该看看这篇短文How to disable the overlay color for images inside Button and NavigationLink来自@TwoStraws

只需将 .buttonStyle(PlainButtonStyle()) 修饰符添加到 List 中的项目即可获得所需内容。它还使 ButtonList 中再次工作,这是我遇到的另一个问题。

Swift 5.1 的工作示例:

import Combine
import SwiftUI

struct YourItem: Identifiable {
let id = UUID()
let text: String
}

class YourDataSource: ObservableObject {
let willChange = PassthroughSubject<Void, Never>()
var items = [YourItem]()

init() {
items = [
YourItem(text: "Some text"),
YourItem(text: "Some other text")
]
}
}

struct YourItemView: View {
var item: YourItem

var body: some View {
VStack(alignment: .leading) {
Text(item.text)
HStack {
Button(action: {
print("Like")
}) {
Image(systemName: "heart.fill")
}
Button(action: {
print("Star")
}) {
Image(systemName: "star.fill")
}
}
}
.buttonStyle(PlainButtonStyle())
}
}

struct YourListView: View {
@ObservedObject var dataSource = YourDataSource()

var body: some View {
List(dataSource.items) { item in
YourItemView(item: item)
}
.navigationBarTitle("List example", displayMode: .inline)
.edgesIgnoringSafeArea(.bottom)
}
}

#if DEBUG
struct YourListView_Previews: PreviewProvider {
static var previews: some View {
YourListView()
}
}
#endif

正如文章中所述,它也适用于 NavigationLink。我希望它对你们有些人有帮助🤞🏻

关于ios - 如何使用 SwiftUI 删除列表上的突出显示?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56545444/

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