Swift -Diagramme: So verhindern Sie, wie Scroll -Positionssprung beim Laden mehr Daten dynamisch ladenIOS

Programmierung für iOS
Anonymous
 Swift -Diagramme: So verhindern Sie, wie Scroll -Positionssprung beim Laden mehr Daten dynamisch laden

Post by Anonymous »

Ich implementiere unendlich scrollen mit Swift -Diagrammen, in denen zusätzliche historische Daten beim Scrollen am Anfang des Datensatzes laden. Wenn jedoch neue Daten geladen werden, springt die Bildlaufposition des Diagramms unerwartet. Datenpunkte mit den neuesten 5 < /li>
Wenn Sie nach hinten mit nur 3 Punkten außerhalb des Bildschirms nach hinten scrollen, wird das Laden von 10 weiteren historischen Punkten ausgelöst < /li>
Nachdem Laden, die Bildlaufposition springt in die 3. Position des neuen Datensatzes, anstatt die aktuelle Ansicht beizubehalten.
Die Bildlaufposition sollte stabil bleiben, wenn neue Daten geladen werden. ul>
Hier ist meine Implementierungslogik mit einigen Mockdaten: < /p>

Code: Select all

import SwiftUI
import Charts

struct DataPoint: Identifiable {
let id = UUID()
let date: Date
let value: Double
}

class ChartViewModel: ObservableObject {
@Published var dataPoints: [DataPoint] = []
private var isLoading = false

init() {
loadMoreData()
}

func loadMoreData() {
guard !isLoading else { return }

isLoading = true

let newData = self.generateDataPoints(
endDate: self.dataPoints.first?.date ?? Date(),
count: 10
)

self.dataPoints.insert(contentsOf: newData, at: 0)
self.isLoading = false

print("\(dataPoints.count) data points.")
}

private func generateDataPoints(endDate: Date, count: Int) -> [DataPoint] {
var points: [DataPoint] = []
let calendar = Calendar.current

for i in 0..

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post