Swiftui 快速用户界面在设备上以不同方式缩放文本
我使用以下代码使用SwiftUI在屏幕上显示大量数字:Swiftui 快速用户界面在设备上以不同方式缩放文本,swiftui,Swiftui,我使用以下代码使用SwiftUI在屏幕上显示大量数字: 返回GeometryReader(){geometry in 文本(series.split(分隔符:“,”[self.calculator.pointsIndex]) .font(字体.系统(大小:圆形(几何体.大小.高度*1.5), 重量:。重量轻, 设计:四舍五入) .最小比例因子(0.2) .scaledofit() .允许拧紧(正确) .背景(颜色.红色.不透明度(0.25)) } 在模拟器上,它看起来像这样: 在设备上,它如
返回GeometryReader(){geometry in
文本(series.split(分隔符:“,”[self.calculator.pointsIndex])
.font(字体.系统(大小:圆形(几何体.大小.高度*1.5),
重量:。重量轻,
设计:四舍五入)
.最小比例因子(0.2)
.scaledofit()
.允许拧紧(正确)
.背景(颜色.红色.不透明度(0.25))
}
在模拟器上,它看起来像这样:
在设备上,它如下所示:
我一直绞尽脑汁想弄明白为什么这个数字在这个设备上要小得多。有什么想法吗?这个圆形(geometry.size.height*UIScreen.main.scale*1.2
在一个设备(和不同的设备)和模拟器上给出了不同的结果
当需要将文本缩放到可用的父空间时,我更喜欢使用以下组合
Text("any text here")
.font(.system(size: 1000))
.minimumScaleFactor(0.01)
.lineLimit(1)
因此,您可以尝试以下修改您的代码
返回GeometryReader{{uuu}/以消耗所有可用空间
文本(series.split(分隔符:“,”[self.calculator.pointsIndex])
.font(.system(大小:1000,重量:轻,设计:圆形))
.最小比例因子(0.01)
.lineLimit(1)
.背景(颜色.红色.不透明度(0.25))
}
噢,对不起。那一行原来是.font(font.system(size:round(geometry.size.height*1.5),weight:.light,design:.roughed))
。UI屏幕的位是我试图弄清楚发生了什么:-)我会更正我的代码。