首页 > 解决方案 > SwiftUI - IOS 15 - 文本 .mimimumScaleFactor - 总是被应用

问题描述

找不到有关此问题的任何文档。

我的一个应用程序有一个带有 .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(第 2 代)iOS 15 上进行初始测试。

标签: swiftuiswift5ios15xcode13swiftui-text

解决方案


将视图设置为固定使用.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(horizo​​ntal:vertical:)


推荐阅读