Page 1 of 1

Wie ändere ich eine SwiftUI-Ansicht dynamisch, damit alle Elemente auf eine A4-Seite passen?

Posted: 27 Jan 2025, 06:44
by Guest
Ich habe eine Spesenverfolgungs-App, mit der Benutzer Rechnungen für Kunden erstellen können. Mein Problem ist, dass bei mehr als 5 Elementen auf der Seite der untere Teil der Ansicht abgeschnitten wird. Ich habe eine Funktion geschrieben, die den Skalierungseffekt dynamisch ändert, was etwas hilft, aber ich habe immer noch das Problem bei 5 Elementen statt bei 2 Elementen, was vor der Implementierung des Skalierungseffekts der Fall war. Gibt es eine bessere Möglichkeit, dies umzusetzen?

Code: Select all

    // Calculate the dynamic scale factor to fit A4-sized content within the screen
private func dynamicScale(for geometry: GeometryProxy) -> CGFloat {
let screenWidth = geometry.size.width
let screenHeight = geometry.size.height

// A4 dimensions in points
let a4Width: CGFloat = 595.2
let a4Height: CGFloat = 841.8

// Calculate the scale factors for width and height
let widthScale = screenWidth / a4Width
let heightScale = screenHeight / a4Height

// Use the smaller scale factor and add extra white space
return min(widthScale, heightScale) * 0.87 // Adjust this multiplier for more/less white space
}