如何在动态类型的UIContentSizeCategoryDidChangeNotification之后更新约束

问题描述 投票:1回答:1

视图使用“可读内容指南”来布局子视图,但是当用户在“辅助功能”设置中更改文本大小时,约束不会更新。我实现了UIContentSizeCategoryDidChangeNotification并尝试了updateConstraintsIfNeededlayoutIfNeeded来查看布局是否发生了变化,但是不起作用。 UITableView自动完成,但其他UIViews没有。

(截图不会改变文本大小,因为我仍在实现动态字体大小,但表头和单元格正在使用readableLayoutGuide。)

第一次运行:

Screen on first run

在设置中更改文本大小后:

Screen after changing the text size

任何强制更新的方法,以便UI可以在文本大小运行时响应文本大小更改,而无需重新启动应用程序(当我重新启动时,它会成功应用新大小)。

ios autolayout accessibility
1个回答
0
投票

文本样式和adjustsFontForContentSizeCategoryproperty必须按照您的意愿使用Dynamic Type(我希望您先完成它)。

处理字体大小更改事件时,如果您至少在iOS10中编写应用程序,则必须重新显示受影响的元素,如this site中的代码片段所述。

关于标准表视图单元格内容,由于单元格大小功能,它会自动调整。

所有内容都在Building Apps with Dynamic Type WWDC video detailed summary中得到了很好的解释,其中所有内容和视频时间间隔都被指示可以快速获取信息。

我建议你看一下示例部分,其中提供了基本的Dynamic Type陷阱的解决方案。

© www.soinside.com 2019 - 2024. All rights reserved.