轉(zhuǎn)自:http://www.jianshu.com/p/8262ec74bfc7
只要遵守了UIAppearance協(xié)議的類,都可以設(shè)置主題查看UIView的頭文件,可得,UIView可以設(shè)置主題,那么不是所有繼承UIView的控件就都可以設(shè)置主題了嗎?是的
Snip20150901_10.png觀看可得,不僅,只是控件可以設(shè)置主題,UIBarItem等只要遵守了UIAppearance協(xié)議的類,都可以設(shè)置主題
Snip20150901_11.png通過主題對象設(shè)置屬性的前提: 屬性后面是否帶有UI_APPEARANCE_SELECTOR的方法
Snip20150901_8.png主題會生效:先設(shè)置控件主題,后添加控件,主題不會生效:先添加控件,后設(shè)置主題方案1 :將控件所在控制器的View從窗口移除,因為主題已經(jīng)確定了,再將控件所在控制器的View添加到窗口上 =》 此時主題就起作用了。
Snip20150901_18.png缺點:擴(kuò)展性不好,因為這樣不能解決所有控制器上的控件的主題方案2:獲取到應(yīng)用的windows數(shù)組,然后遍歷,將view刪除,然后添加上即可注意:控件是否銷毀,要看是否有強(qiáng)指針指向它
新聞熱點
疑難解答