【发布时间】:2020-10-04 08:45:43
【问题描述】:
我有一个带有图像(不是背景图像)的 UIButton,我想在手机使用大文本时对其进行缩放。
目前我已经在 XIB 中设置了adjusts image size 来实现这一点:
奇怪的事情来了:
当我将文本大小设置为高于某个标记时,图像会按您的预期缩放并变大。
如果我将其设置为低于它的大小,然后又恢复为常规文本大小:
值得注意的是,有问题的图像是star 图像和info 图像。请忽略左边的电车图片。
我尝试了什么?
- 我查看了这些限制 - 这些似乎没有影响。按钮的高度和宽度固定为 44 x 44 像素,但这对于图像在边界内变大(正常图像尺寸仅为 20x20)足够大
- 我已尝试在代码中设置值:
@IBOutlet private var infoButton: UIButton! {
didSet {
infoButton.adjustsImageSizeForAccessibilityContentSizeCategory = true
infoButton.titleLabel?.adjustsFontForContentSizeCategory = true
}
}
但这也不能解决问题
- 我已经在各种操作系统(iOS 11、12 和 13)上的真实设备和模拟器上对此进行了测试,这似乎发生在所有操作系统上。
这可能只是 Apple 的一个错误 - 如果是这样的话,那么当尺寸等级从 .extraExtraExtraLarge 更改为 .accessibilityMedium 时,这似乎很奇怪。
当我减小字体大小时,图像确实会像预期的那样减小大小 - 这向我表明,图像有合适的大小等级可供选择,但它并没有击中它们。
有趣的是,这些按钮没有文本,我发现一个答案暗示尺寸等级取自按钮的标题并应用于图像 - 为什么它有时会起作用而不是其他?
非常感谢任何帮助或建议
【问题讨论】:
-
您的图像尺寸只会在 a11y 尺寸等级范围内变化。
-
为什么图片大小只会随着.extraExtraExtraExtraLarge以上的大小等级而变化?这没有意义。
-
该链接似乎包含我所追求的信息,我只是在努力寻找确切的位。我已经在使用矢量比例图像(单比例),所以我不确定是否必须使用大型内容查看器(不理想),因为我觉得我已经在图形元素大小部分做了所有事情。
-
关于图形元素大小的部分没有记录在 .medium 和 .extraExtraLarge 之间平滑放大的图像。如果是这样,那么我还没有找到合适的部分。它只展示了如何让它们成为动态的(这是我目前正在做的)。
标签: ios swift uibutton uiaccessibility dynamic-type-feature