Wenn ich also die bestimmte Nachricht hervorhebe, möchte ich wissen, ob es möglich ist, die Zeile dahinter zu verbergen. Wenn nicht, muss ich wohl auf UIKit für UITableVIew oder UICollectionView zurückgreifen, die ich zuerst lernen muss, um dies zu implementieren. LazyVStack ist für mich ein großes NEIN.

Code: Select all
List {
ForEach(Array(messagesViewModel.messages.enumerated()), id: \.element.messageIndex) {
index, message in
let isBeginning = message.messageIndex == messagesViewModel.messages.first?.messageIndex
let isLast = message.messageIndex == messagesViewModel.messages.last?.messageIndex
let hasBogey = messagesViewModel.bogeyChatSuggestions != nil
chatMessageView(for: message, isBeginningOfSection: isBeginning)
.buttonStyle(.plain)
.id(message.messageIndex)
.padding(.bottom, hasBogey ? 0 : (isLast ? 65 : 0))
.listRowSeparator(.hidden)
.listRowBackground(Color.clear)
.contextMenu {
Button("Copy") { UIPasteboard.general.string = text }
}
}
bogeyChatSuggestionView
.id(messagesViewModel.bogeyChatSuggestions?.id)
.listRowSeparator(.hidden)
.listRowBackground(Color.clear)
}
.buttonStyle(.plain)
.listStyle(.plain)
.scrollContentBackground(.hidden)
.scrollIndicators(.hidden)
.background(Color.white)
Mobile version