У меня есть приложение для отслеживания расходов, которое позволяет пользователям генерировать счета для клиентов. Моя проблема в том, что если на странице более 5 элементов, нижняя часть представления обрезается. Я написал функцию, которая динамически изменяет эффект масштабирования, что несколько помогает, но у меня все еще есть проблема с 5 элементами вместо 2 элементов, которые были до реализации эффекта масштабирования. Есть ли лучший способ реализовать это?
// 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
}
Подробнее здесь: https://stackoverflow.com/questions/793 ... thin-an-a4