Вы можете достичь желаемой функциональности, выбрав Список поверх Scrollview. Если учесть фактор масштабируемости в нашем приложении для чата, то List намного лучше, чем Scrollview. Поскольку представления могут быть легко использованы повторно в List.
struct chatPartnerBubble: View {
var textMsg: String
var body: some View {
VStack{
Text(textMsg)
.foregroundColor(Color.white)
.padding(10)
.lineLimit(nil)
}
.background(Color.blue)
.cornerRadius(12)
}
}
struct ContentView: View {
var body: some View {
List {
chatPartnerBubble(textMsg: "text1 111111111 1 11111111 1 1 1 1 1 1 1 1 111111111111")
chatPartnerBubble(textMsg: "text2 22222 222222222 2222222222222 222 2 2 2 22 2 222222")
chatPartnerBubble(textMsg: "text3 333333 3 333 333 3 3 3 3 33333333 3 33333333 3333333")
}
.padding(.top)
.onAppear {
UITableView.appearance().separatorColor = .clear
}
.onDisappear {
UITableView.appearance().separatorColor = .gray
}
}
}
В случае, если у нас есть более одного табличного представления в нашем приложении, поэтому блоки OnAppear и onDisappear используются, чтобы скрыть / показать разделитель только для представленного выше представления таблицы сообщений.