gpt4 book ai didi

ios - 为什么当内容大小类别发生变化时,不为表格 View 单元格调用 traitCollectionDidChange?

转载 作者:行者123 更新时间:2023-12-02 18:23:17 25 4
gpt4 key购买 nike

我有一个包含 TableView 并显示自定义单元格的 View Controller 。我正在尝试使用 traitCollectionDidChange 方法(在单元格子类中)对内容大小类别更改使用react,但是当此特征更改时,不会为单元格调用此方法。另一方面,它确实会在尺寸等级发生变化时被调用。

traitCollectionDidChange 为 View Controller 调用(当内容大小类别发生变化时),我可以手动将调用传播到可见单元格,但这感觉像是额外的工作。为什么没有专门针对内容大小类别更改调用单元格子类?

编辑为什么我想在单元格内调用:

当内容大小类别为 associated with accessibility 时,我想将单元格的标签更改为多行, 否则保持单行。我在某些 iOS 应用程序中注意到了这种行为,例如苹果音乐。

最佳答案

应用中任何需要了解内容大小类别更改的地方都可以注册 UIContentSizeCategory.didChangeNotification

https://developer.apple.com/documentation/uikit/uicontentsizecategory/1622948-didchangenotification

因此,您无需将信息向下传播到层次结构中,只需为该通知注册一个合适的对象即可。例如,也许您有(或可能有)一个自定义表格 View 单元格子类,这将是合适的。


至于你实际提出的问题,我只能提供一个理论。 Apple 将 UILabel 之类的东西配置为在 表格 View 单元格中 时接收 UIContentSizeCategory.didChangeNotification。这涉及到一些幕后花招。我怀疑作为这个手帕的一部分,他们故意阻止单元格 自身 接收 traitCollectionDidChange 内容大小类别更改,因为相同的信号已经到达不同的方式,他们不想用太多事件轰炸单元格内容。

关于ios - 为什么当内容大小类别发生变化时,不为表格 View 单元格调用 traitCollectionDidChange?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70580069/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com