ios - Explain what TraitCollectionDidChange/UITraitCollection is in simple terms?
问题描述
I have the following code:
public override void TraitCollectionDidChange(previousTraitCollection: UITraitCollection)
{
base.TraitCollectionDidChange(previousTraitCollection)
...
}
What does base.TraitCollectionDidChange()
do?
解决方案
当您的尺寸类更改时,将调用此方法。所以你可以调整你的布局:)
你听说过size class吗?
Size 类是一个用于定义尺寸设备的苹果抽象。
例如对于 Iphone X 有,该值:
对于纵向: - 紧凑的宽度,常规高度
对于景观: - 紧凑的宽度,紧凑的高度
使用 TraitCollection,您可以识别此类更改的时间,例如从纵向更改为横向,使用此信息可以更新布局。
这里有一个教程: https ://www.hackingwithswift.com/example-code/uikit/how-to-detect-when-your-size-class-changes
这里有一个关于尺寸类的教程: https ://developer.apple.com/design/human-interface-guidelines/ios/visual-design/adaptivity-and-layout/
推荐阅读
- javascript - node-soap 上的身份验证问题
- javascript - 如何刷新 Firebase 会话 Cookie
- javascript - 在 Puppeteer 中的 main 和 renderer 函数之间进行通信
- ruby - 需要在红宝石中
- java - 将HashMap排序成TreeMap:自定义比较器删除具有相同键的值
- python - Python中的最大预期浮点错误
- javascript - 使用 JavaScript 将 5 个关键字随机插入 HTML 表格的一部分
- javascript - 在 Java Nashorn 上运行 Node Lib
- javascript - 如何使我的选项卡中的活动按钮具有“活动”类?
- javascript - 有条件地在反应中定义一个常量