UIAppearance

經過UIAppearance,咱們能夠輕鬆的統一管理app界面的某些外觀屬性,以UINavigationBar爲例有以下兩個方法:app

  1. [UINavigationBar appearance]
  2. [UINavigationBar appearanceWhenContainedIn:(nullable Class<UIAppearanceContainer>), ..., nil]
  • 方法一是拿到應用中全部出現的UINavigationBar對象
  • 方法二是拿到某個某個類中出現的UINavigationBar對象

示例代碼,搭配富文本屬性統一設置外觀:code

+(void)load
{
    UINavigationBar *bar = [UINavigationBar appearanceWhenContainedIn:self, nil];

    //統一設置當前自定義導航控制器類的導航條標題富文本
    NSMutableDictionary *attr = [NSMutableDictionary dictionary];
    attr[NSFontAttributeName] = [UIFont boldSystemFontOfSize:20];
    bar.titleTextAttributes = attr;
    //統一設置導航條背景圖片
    [bar setBackgroundImage:[UIImage imageNamed:@"navigationbarBackgroundWhite"] forBarMetrics:UIBarMetricsDefault];
}

:使用方法一相對比較「暴力」,好比當調用彈出系統相冊界面,讓用戶選擇某張照片之類的功能時,會發現系統自帶界面上的相關類也一同被修改了。所以使用哪一個方法實現效果得根據具體需求而決定了。對象

相關文章
相關標籤/搜索