对于具有许多UIViewControllers的iOS9 + / Swift 3应用程序,继承相同背景色和其他公共属性(字体,间距等)的最佳实践方法是什么。有一个共同的基类最好吗?还是某种协议?
因为大多数视觉属性都与特定的UIViews和UIView子类(如UILabel,UIButton等)相关联,所以我建议在UIViewController级别处理此问题将迫使视图控制器负责其他类的过多细节。
苹果公司用于在各种视图上设置全局视觉属性的内置机制是UIAppearance API。NSHipster对此有很好的概述
使用UIAppearance的缺点是无法轻松适应样式的变化,例如某些按钮为红色,某些按钮为蓝色。对于整个应用程序中某个视图的所有实例,这基本上是固定的默认外观。
我个人更喜欢使用专用的样式框架,该框架允许将组合预定义样式应用于视图。我已经写过这个文章,并且还创建了一个框架来促进为UIKit组件创建样式以及在情节提要板中应用和预览样式。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句