UIAppearance、UI_APPEARANCE_SELECTOR的使用

当我们封装第三方库的时候,我们通常会希望将Api设置的更灵活一些,以方便使用者进行定制,在这些自定义的需求里面,UI的定制又是一个比较大的需求。 苹果在设计UIKit的时候,也提供了一个Protocol用于定制,那就是UIAppearance。

使用场景

先看下UIAppearance的使用,试想一个场景,新建一个App,这个App的基础色是蓝色,NavigationBar都是蓝色背景,白色文字,同时所有页面的背景色都是浅灰色,文字默认的Font是宋体。如何实现这个需求呢?

先说通常的做法,很多App会基于系统的组件封装一套UI组件,这当然没有问题,比如我们继承UILabel,设计一个TestLabel,这个label会自动实现默认的font。 但是这种方式针对上面的需求,其实是有些重了,那有没有更轻一些的方法呢? 答案就是使用UIAppearance。

我们只需要在初始化的地方,设置一次基础颜色和字体等,后续创建的所有组件都会使用这个配置,先看下代码:

 [UILabel appearance].font = [UIFont systemFontOfSize:13]; //只需设置一次

UILabel *label = [UIlabel new]; //后续所有的label都是默认13的字体

这里的appearance就是苹果统一设计的一套protocol,苹果的大部分UIKit相关的配置都会实现这套protocol,这样如果是系统性的配置,则只需要配置一次,后续就不用重复设置了。

定义

看下app

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值