From f7c26f896f42fd66671e03a72dccc3be17a1b2a9 Mon Sep 17 00:00:00 2001 From: Garth Vander Houwen Date: Fri, 23 Aug 2024 19:28:13 -0700 Subject: [PATCH] New scroll methods --- Meshtastic/Views/Messages/ChannelMessageList.swift | 10 +++++----- Meshtastic/Views/Messages/UserMessageList.swift | 10 +++++----- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/Meshtastic/Views/Messages/ChannelMessageList.swift b/Meshtastic/Views/Messages/ChannelMessageList.swift index c0852a36..74a4538a 100644 --- a/Meshtastic/Views/Messages/ChannelMessageList.swift +++ b/Meshtastic/Views/Messages/ChannelMessageList.swift @@ -128,14 +128,14 @@ struct ChannelMessageList: View { } .padding([.top]) .scrollDismissesKeyboard(.immediately) - .onAppear { - if channel.allPrivateMessages.count > 0 { - scrollView.scrollTo(channel.allPrivateMessages.last!.messageId) + .onFirstAppear { + withAnimation { + scrollView.scrollTo(channel.allPrivateMessages.last?.messageId ?? 0, anchor: .bottom) } } .onChange(of: channel.allPrivateMessages, perform: { _ in - if channel.allPrivateMessages.count > 0 { - scrollView.scrollTo(channel.allPrivateMessages.last!.messageId) + withAnimation { + scrollView.scrollTo(channel.allPrivateMessages.last?.messageId ?? 0, anchor: .bottom) } }) } diff --git a/Meshtastic/Views/Messages/UserMessageList.swift b/Meshtastic/Views/Messages/UserMessageList.swift index b0ec3a10..a53f788d 100644 --- a/Meshtastic/Views/Messages/UserMessageList.swift +++ b/Meshtastic/Views/Messages/UserMessageList.swift @@ -116,14 +116,14 @@ struct UserMessageList: View { } .padding([.top]) .scrollDismissesKeyboard(.immediately) - .onAppear { - if user.messageList.count > 0 { - scrollView.scrollTo(user.messageList.last!.messageId) + .onFirstAppear { + withAnimation { + scrollView.scrollTo(user.messageList.last?.messageId ?? 0, anchor: .bottom) } } .onChange(of: user.messageList, perform: { _ in - if user.messageList.count > 0 { - scrollView.scrollTo(user.messageList.last!.messageId) + withAnimation { + scrollView.scrollTo(user.messageList.last?.messageId ?? 0, anchor: .bottom) } }) }