哇擦擦,居然有人喜歡用iPhone的粗體模式,設置方式為“設置-通用-輔助功能-Bold Text”,看起來好丑,不過還是有人會用到這個模式的
然而,UIButton在這個模式下同時設置title和image會重疊啊,不知道是不是哪里的bug,當然你的button設置的比這兩個東西加起來寬好多還能正常顯示,但是有時候就不會這么好了,例如你使用了UIButton的sizeToFit。。顯示效果是這個樣子的:
Snip20161029_2.png
某些情況下你有不能直接給button的image設置一個很大的imageInsets,因為好多人都是正常模式下的啊,你一改正常模式下看起來就怪怪的了,這時候就得用代碼來搞了啊,可以針對于粗體模式下的button修改一個比較大的imageInsets 來讓它看起來正常一些,記得當時QA提這個bug的時候很是頭大,不知道從哪里下手啊,然后當時貌似是通過打斷點來看這兩種模式下字體有什么不同,然后再去針對性的搞得,代碼大概是這個樣子
//粗體模式下的字體是這個:.SFUIText-Semibold,正常的忘記是啥了,不過判斷個這個就可以找到了,然后再設置btn的imageEdgeInsets就得以正常顯示了
if ([[UIFont systemFontOfSize:12].fontName isEqualToString:@".SFUIText-Semibold"]) {
self.btn_diamond.imageEdgeInsets = UIEdgeInsetsMake(0, -10, 0, 10);
}
Snip20161029_3.png
調整完之后大概就是醬嬸的,insets具體調多大就自己去試了,可能跟圖標大小什么的也有關系,但是正常字體下的顯示就是沒有任何問題啊,下面是正常字體下并沒有做任何調整的button
Snip20161029_4.png