有一些关于此的帖子,但似乎没有一个完整的解决方案。
通过 IB 使用自适应布局我可以轻松更改特定大小类的字体大小,但是我有一个使用 UILabels 的自定义视图,我想根据使用的大小类(使用 swift)以编程方式设置字体大小 - 其他人有这个吗问题或遇到解决方案?
有一些关于此的帖子,但似乎没有一个完整的解决方案。
通过 IB 使用自适应布局我可以轻松更改特定大小类的字体大小,但是我有一个使用 UILabels 的自定义视图,我想根据使用的大小类(使用 swift)以编程方式设置字体大小 - 其他人有这个吗问题或遇到解决方案?
您需要自定义视图traitCollectionDidChange(previousTraitCollection: UITraitCollection?)
从UIView 符合的UITraitEnvironment 协议覆盖。
讨论
当 iOS 界面环境发生变化时,系统会调用该方法。根据您的应用程序的需要,在视图控制器和视图中实现此方法,以响应此类更改。例如,当 iPhone 从纵向旋转到横向时,您可能会调整视图控制器的子视图的布局。此方法的默认实现为空。
您可能需要观察 iPad 尺寸等级的高度/宽度:Regular| 常规的
您的自定义视图 (UIView) 具有包含信息的traitCollection
属性size classes
。在这里查看答案https://stackoverflow.com/a/25795175/2503640