这里有几个帖子,但没有一篇似乎有完整的解决方案。以编程方式使用大小类设置字体大小
通过IB使用自适应布局我可以很容易地更改特定大小类的字体大小,但是我有一个使用UILabels的自定义视图,我想以编程方式设置字体大小取决于使用的大小类(使用swift)任何人有这个问题或遇到一个解决方案?
这里有几个帖子,但没有一篇似乎有完整的解决方案。以编程方式使用大小类设置字体大小
通过IB使用自适应布局我可以很容易地更改特定大小类的字体大小,但是我有一个使用UILabels的自定义视图,我想以编程方式设置字体大小取决于使用的大小类(使用swift)任何人有这个问题或遇到一个解决方案?
您需要定制视图才能覆盖UIView遵循的UITraitEnvironment Protocol中的traitCollectionDidChange(previousTraitCollection: UITraitCollection?)
。
讨论
系统调用这个方法了iOS界面 环境发生变化时。在视图控制器中实现此方法,并根据您的应用程序的需要在视图中响应此类更改。例如,对于 的示例,您可以调整iPhone在从纵向到横向 方向旋转时视图 控制器的子视图的布局。此方法的默认实现为空。
您可能需要观察iPad尺寸类的高度/宽度:Regular |常规
您的自定义视图(UIView)具有traitCollection
属性,该属性具有size classes
信息。看看这里的答案https://stackoverflow.com/a/25795175/2503640
你是什么意思的“大小类在使用”? – idanuda
检查此问题http://stackoverflow.com/questions/29528661/ios-detect-current-size-classes-on-viewdidload – Muneeba
我的意思是,如何检测高度/宽度是紧凑还是常规,即使用编程方式使用自适应布局比通过IB设置它 – MikeJ