iOS13 UISegmentedControl關(guān)于setTitleTextAttributes的實現(xiàn)似乎發(fā)生了變化

iOS13和以前的版本相比景埃,UISegmentedControlsetTitleTextAttributes函數(shù)的內(nèi)部實現(xiàn)方式發(fā)生了變化塑煎。

以代碼為例:

- (void)setNeedNavigationBarWithSegment: (NSArray<NSString *> *)titleArray {
    ...
    UISegmentedControl *segment = [[UISegmentedControl alloc] initWithItems:titleArray];
    [segment setTitleTextAttributes:@{NSForegroundColorAttributeName:[UIColor whiteColor]} forState:UIControlStateSelected];
    [segment setTitleTextAttributes:@{NSForegroundColorAttributeName:[Color standardBlue]} forState:UIControlStateNormal];
    ...
}

我們在基類控制器中自行繪制頭部視圖伟姐,上述函數(shù)是一個快速構(gòu)造頭部帶有UISegmentedControl的頭部視圖师抄,我們在快速構(gòu)造函數(shù)中配置了segment的選中文本顏色和普通狀態(tài)文本顏色仙逻。

然后在一個特殊的控制器中我們需要配置segemnt的字體大小小于我們默認(rèn)的字體大小服鹅。

if ([self.titleView isKindOfClass:[UISegmentedControl class]]) {
        UIFont *font = [UIFont systemFontOfSize:12];
        NSMutableDictionary *normalAttributes = [NSMutableDictionary dictionary];        
        normalAttributes[NSFontAttributeName] = font;
        [((UISegmentedControl *)self.titleView) setTitleTextAttributes:normalAttributes forState:UIControlStateNormal];
    }

在iOS13以下的版本通過setTitleTextAttributes函數(shù)配置相關(guān)屬性時涵但,上述代碼對字體大小的修改能與更上面對字體顏色的修改共存杈绸。

而在iOS13中,setTitleTextAttributes則會覆蓋掉字體顏色矮瘟,使得Segment會顯示默認(rèn)的黑色文本瞳脓。

于是就需要

        UIFont *font = [UIFont systemFontOfSize:12];
        NSMutableDictionary *normalAttributes = [NSMutableDictionary dictionary];
        NSMutableDictionary *selectedAttributes = [NSMutableDictionary dictionary];
        
        normalAttributes[NSFontAttributeName] = font;
        normalAttributes[NSForegroundColorAttributeName] = [Color standardBlue];
        selectedAttributes[NSFontAttributeName] = font;
        selectedAttributes[NSForegroundColorAttributeName] = [UIColor whiteColor];
        [((UISegmentedControl *)self.titleView) setTitleTextAttributes:normalAttributes forState:UIControlStateNormal];
        [((UISegmentedControl *)self.titleView) setTitleTextAttributes:selectedAttributes forState:UIControlStateSelected];

重新配置所有屬性,或者:

        [((UISegmentedControl *)self.titleView) titleTextAttributesForState:<#(UIControlState)#>]

在配置參數(shù)前預(yù)先獲取已有的參數(shù)字典澈侠。

聯(lián)想到iOS13蘋果官方對UISegmentedControl的大動作修改劫侧,合理地通過Demo進(jìn)行聯(lián)想,setTitleTextAttributes的內(nèi)部實現(xiàn)已從原來的合并變成了覆蓋埋涧。

以上板辽。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末奇瘦,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子劲弦,更是在濱河造成了極大的恐慌耳标,老刑警劉巖,帶你破解...
    沈念sama閱讀 217,657評論 6 505
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件邑跪,死亡現(xiàn)場離奇詭異次坡,居然都是意外死亡,警方通過查閱死者的電腦和手機画畅,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,889評論 3 394
  • 文/潘曉璐 我一進(jìn)店門砸琅,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人轴踱,你說我怎么就攤上這事症脂。” “怎么了淫僻?”我有些...
    開封第一講書人閱讀 164,057評論 0 354
  • 文/不壞的土叔 我叫張陵诱篷,是天一觀的道長。 經(jīng)常有香客問我雳灵,道長棕所,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,509評論 1 293
  • 正文 為了忘掉前任悯辙,我火速辦了婚禮琳省,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘躲撰。我一直安慰自己针贬,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 67,562評論 6 392
  • 文/花漫 我一把揭開白布茴肥。 她就那樣靜靜地躺著坚踩,像睡著了一般。 火紅的嫁衣襯著肌膚如雪瓤狐。 梳的紋絲不亂的頭發(fā)上瞬铸,一...
    開封第一講書人閱讀 51,443評論 1 302
  • 那天,我揣著相機與錄音础锐,去河邊找鬼嗓节。 笑死,一個胖子當(dāng)著我的面吹牛皆警,可吹牛的內(nèi)容都是我干的拦宣。 我是一名探鬼主播,決...
    沈念sama閱讀 40,251評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼鸵隧!你這毒婦竟也來了绸罗?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,129評論 0 276
  • 序言:老撾萬榮一對情侶失蹤豆瘫,失蹤者是張志新(化名)和其女友劉穎珊蟀,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體外驱,經(jīng)...
    沈念sama閱讀 45,561評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡育灸,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,779評論 3 335
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了昵宇。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片磅崭。...
    茶點故事閱讀 39,902評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖瓦哎,靈堂內(nèi)的尸體忽然破棺而出砸喻,到底是詐尸還是另有隱情,我是刑警寧澤蒋譬,帶...
    沈念sama閱讀 35,621評論 5 345
  • 正文 年R本政府宣布恩够,位于F島的核電站,受9級特大地震影響羡铲,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜儡毕,卻給世界環(huán)境...
    茶點故事閱讀 41,220評論 3 328
  • 文/蒙蒙 一也切、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧腰湾,春花似錦雷恃、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,838評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至附井,卻和暖如春讨越,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背永毅。 一陣腳步聲響...
    開封第一講書人閱讀 32,971評論 1 269
  • 我被黑心中介騙來泰國打工把跨, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人沼死。 一個月前我還...
    沈念sama閱讀 48,025評論 2 370
  • 正文 我出身青樓着逐,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子耸别,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,843評論 2 354

推薦閱讀更多精彩內(nèi)容