【问题标题】:SwiftUI - IOS 15 - Text .mimimumScaleFactor - always being appliedSwiftUI - IOS 15 - 文本 .mimimumScaleFactor - 总是被应用
【发布时间】:2021-11-18 22:26:32
【问题描述】:

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

我的一个应用程序有一个带有 .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 上进行初始测试。

【问题讨论】:

  • 提供的代码快照在这里可以正常工作。 Xcode 13 / iOS 15
  • 嗨@Asperi - 所以你得到一个适合屏幕边缘到边缘的文本字符串?对我来说,即使是一个小屏幕也被缩小了,而不是像在 ios 14 中那样填充宽度。
  • 我在我的一个应用程序中注意到了同样的事情。从 iOS 15 开始,文本的缩放比例不正确。没有更改代码中的任何内容。任何解决方案...?
  • 我很害怕而不是@StefanLdhl - 它似乎只发生在几个屏幕尺寸上,在我的应用程序中只是看起来有点错误,实际上并没有破坏任何功能。如果我找到解决方案,我会在这里报告。
  • 我可能终于找到了解决这个问题的方法。查看我的最新答案。它对你有用吗?

标签: swiftui swift5 ios15 xcode13 swiftui-text


【解决方案1】:

使用.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(horizontal:vertical:)

【讨论】:

    猜你喜欢
    • 2021-11-21
    • 2021-12-18
    • 1970-01-01
    • 1970-01-01
    • 2021-10-27
    • 2021-12-21
    • 2021-11-18
    • 2021-10-05
    • 2019-10-29
    相关资源
    最近更新 更多