【发布时间】:2023-03-17 08:37:01
【问题描述】:
我有一个搜索视图,用户可以在其中按单词或短语搜索并过滤结果。
List {
ForEach(textsData) {text in
if text.sometext.localizedCaseInsensitiveContains(self.searchText) || self.searchText == "" {
NavigationLink(destination: TextView(text: text)) {
Text(text.sometext)
}
}
}
}
我想用红色突出显示搜索到的文本。有什么办法可以吗?
UPD: 假设代码如下:
struct ContentView: View {
var texts = ["This is an example of large text block", "This block is rather small"]
var textsSearch = "large"
var body: some View {
List {
ForEach(self.texts, id: \.self) {text in
Text(text).padding().background(self.textsSearch == text ? Color.red : .clear)
}
}
}
}
我只想在输出中突出显示“大”这个词:
这是大文本块的示例
这个块比较小
UPD2:这个答案对我很有效:SwiftUI: is there exist modifier to highlight substring of Text() view?
【问题讨论】:
标签: swiftui uisearchbar