如何設定全域性字型

2021-07-10 01:13:13 字數 926 閱讀 3263

有時候為了統一介面中所有的 label,button ,uitextfield 等的字型,我們在初始化的時候就需要不斷地新增冗餘的**來設定自己的字型。

uilabel *label = [[uilabel alloc] init];

label.font = [uifont fontwithname:@"myfont"];

如果你的介面全部是**實現的,而且專案初期就已經定下統一用什麼字型了,這就不是什麼難事。但是,如果你的介面是由大量ib實現的,而且用的是自定義的字型,在ib中選都沒法選;或是專案已經完成差不多了,上面要求統一改字型,那該如何是好?

現在就來看通過objective-c的動態性設定統一的字型。

注意: 以下方法只用於全域性修改由 xib 載入的介面的 uibutton, uilabel的字型,其他的如uitextfield等類似,新建catogery就好,想修改**生成的介面,修改 initwithcoder 為 init就好

#import #import @inte***ce uibutton (myfont) @end

@inte***ce uilabel (myfont) @end

@implementation uibutton (myfont)

+ (void)load

- (id)myinitwithcoder:(nscoder*)adecode

return self;

}@end

@implementation uilabel (myfont)

+ (void)load

- (id)myinitwithcoder:(nscoder*)adecode

return self;

}@end

cocoachina 之 method swizzling:

Android app全域性字型設定

方法很簡單,就是使用github上的乙個開源庫calligraphy,使用步驟只需要以下幾步 calligraphyconfig.initdefault new calligraphyconfig.builder setdefaultfontpath fonts roboto bold.ttf se...

iOS app全域性字型設定

方法一 寫乙個uilabel fontextension 擴充套件 重寫initwithframe 手寫 必走方法 和awakefromnib xib必走方法 當然uibutton uitextview等控制項都可以用這種方式 import inte ce uilabel fontextension...

如何設定字型

private void btnbold click object sender,eventargs e else newfont new font oldfont,oldfont.style fontstyle.bold 設定為粗體字格式 richtextbox1.selectionfont ne...