去除SwiftTheme

之前向大家介绍过SwiftTheme这个第三方类库,很不错的换肤解决方案。

自己也一直在使用,不过这次APP重构的过程中,我打算把它移除。理由如下:

  • 作为一款阅读类的APP,Dark Mode是比较重要的,但换其他颜色的皮肤意义不大。
  • 作为独立开发者,自己的UI设计能力有限,与其不停的尝试配色等等,还不如使用苹果推荐的

排版问题:不要再自己定义某个Label的字体的大小了,统一采用苹果提供的Dynamic Type Sizes

image.png

调用的方法如下:

titleLabel.font = [UIFont preferredFontForTextStyle:UIFontTextStyleFootnote];

配色问题:统一采用Dynamic System Colors,例如

image.png

调用的方法如下:

titleLabel.textColor = [UIColor secondaryLabelColor];

ICON的问题:统一使用SF Symbol

image.png

调用的方法如下:

UIImageSymbolConfiguration *symbolConfig = [UIImageSymbolConfiguration configurationWithPointSize:30.0f];
UIImage *cameraImage = [UIImage systemImageNamed:@"camera.circle.fill" withConfiguration:symbolConfig];
UIImageView *imageView = [[UIImageView alloc] initWithImage:cameraImage];
imageView.tintColor = [UIColor systemRedColor];

通过这些方案,APP就会自然而然的与系统的Dark Mode同步。

附加下系统提供的颜色,在Light/Dark模式下,各自的颜色和对应的值

Light Mode
截屏2021-11-16 上午10.15.02.png

截屏2021-11-16 上午10.16.12.png

截屏2021-11-16 上午10.16.56.png

截屏2021-11-16 上午10.17.10.png
Dark Mode
截屏2021-11-16 上午10.18.43.png
截屏2021-11-16 上午10.19.01.png
截屏2021-11-16 上午10.19.11.png
截屏2021-11-16 上午10.19.20.png

参考资料:
Backwards compatibility for iOS 13 system colors

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容