找不到有关此问题的任何文档。
我的一个应用程序有一个文本视图。minimumscalefactor(0.5)。这在iOS 14.0中非常有效。* -当文本比视图宽时,它会很好地缩放以适应- IE填充屏幕的全宽度。
不幸的是,在iOS 15中,. minimumscalefactor似乎与内容大小无关。不需要缩放以适应的字符串正在被缩放。
这是一个未记录的更改吗?有没有我不知道的新方法?
代码如下:
var body: some View {
VStack() {
HStack() {
Text(supplier.name ?? "Unknown Supplier")
.font(.title)
.lineLimit(1)
.allowsTightening(true)
.minimumScaleFactor(0.5)
Button(action: {}) {
Image(systemName: "star.fill")
.imageScale(.large)
}
}
}
}
任何帮助都将是非常感激的。
编辑-这似乎只在某些iPhone上存在问题-在iPhone SE(第二代)iOS 15上进行初步测试。
使用.fixedSize
将视图设置为固定
在你的例子中:
Text(supplier.name ?? "Unknown Supplier")
.font(.title)
.fixedSize(horizontal: false, vertical: true)
.lineLimit(1)
.allowsTightening(true)
.minimumScaleFactor(0.5)
文档:https://developer.apple.com/documentation/swiftui/menu/fixedsize(水平垂直:)
在我的例子中,行为是根植于包装器视图. 一旦我强迫它占据所有剩余的水平空间,内部(自动收缩)文本开始按预期工作。
HStack {
VStack {
Text("Big")
.lineLimit(1)
.minimumScaleFactor(0.01)
Text("Small")
}
}
.frame(maxWidth: .infinity) // 🪄
尽管如此,同样的代码在不同的iOS运行时的工作方式却不同,这还是有点令人不安。😔