以下代码在iOS11上非常有用,可以检测用户是否在其辅助功能设置中设置了LARGE FONT。

但是,我也需要在iOS10中支持此功能。我该怎么做?

现在,代码如下所示:

if #available(iOS 11.0, *) {
    if traitCollection.preferredContentSizeCategory.isAccessibilityCategory {
        return UITableViewAutomaticDimension
    } else {
        return someSpecificHeight
    }
} else {
    // how to detect is isAccessibilityCategory on non-iOS11 devices?
    // is there some ugly fallback I don't know about?
}

最佳答案

好的,根据@Jefflovejapan的回答,看来我可以做到这一点:

 let sizeCategory = traitCollection.preferredContentSizeCategory

        if sizeCategory == .accessibilityMedium
     || sizeCategory == .accessibilityLarge
     || sizeCategory == .accessibilityExtraLarge
     || sizeCategory == .accessibilityExtraExtraLarge
     || sizeCategory == .accessibilityExtraExtraExtraLarge {
            return UITableViewAutomaticDimension
        } else {
            return someSpecificHeight
        }

丑陋,但我认为它可以解决问题。

我必须进行所有==比较,因为这似乎是iOS10中唯一受支持的运算符(所有其他运算符显然都已添加到iOS11中)

09-11 19:20