SwiftUI:检测显示缩放已打开?

Gar*_*abo 2 accessibility-api ios uiaccessibility swift swiftui

这个问题以前曾被问过,但没有一个解决方案有效。我不敢相信,在 SwiftUI 中,@Environment(\.sizeCategory) var sizeCategory没有类似的环境变量可供我们观察和打开吗?

小智 10

这对我有用(来自您引用的其他帖子):

private var isZoomed: Bool {
    UIScreen.main.scale < UIScreen.main.nativeScale
}
Run Code Online (Sandbox Code Playgroud)

我还使用它来确定是否在辅助功能设置中打开了粗体。

@Environment(\.legibilityWeight)
private var legibilityWeight
Run Code Online (Sandbox Code Playgroud)

与文本大小的组合:

@Environment(\.sizeCategory)
private var sizeCategory
Run Code Online (Sandbox Code Playgroud)

当 UI 变得太窄且文本太大而无法适应我想要的文本时,我会调整 UI。