[英]UIButton.titlelabel setfont doesn't work
我在界面生成器中添加了按鈕並引用了它們,然后我想更改其標題字體,但是它不起作用。 當我使用時:
[_button setFont:[UIFont fontWithName:APP_FONT_FUTURASTD_LIGHT size:24.0f]];
可以,但是此代碼已棄用。 因此,我在網上查看了要使用的代碼而不是此代碼,我發現此代碼要使用:
[_button.titleLabel setFont:[UIFont fontWithName:APP_FONT_FUTURASTD_LIGHT size:24.0f]];
_button.titleLabel.font = [UIFont fontWithName:APP_FONT_FUTURASTD_LIGHT size:24.0f];
但是沒有這項工作。 我不知道該怎么辦或出了什么問題。 我嘗試設置UIButton的全局外觀,該方法也可以使用,但是我不能使用它,因為我只需要在某些按鈕上使用該字體。
按鈕為:
@property (nonatomic, weak) IBOutlet UIButton *button;
並添加到情節提要中。
字體定義為:
#define APP_FONT_FUTURASTD_LIGHT @"FuturaStd-Light"
並添加到Info.plist部分“應用程序提供的字體”。
我發現了問題所在。 啟動該項目的其他程序員已經設置
[[UIButton appearance] setFont:[UIFont fontWithName:APP_FONT_FUTURASTD_BOLD size:12.0f]];
在CSAppDelegate.m中,因此我的所有自定義設置都被此覆蓋。
因此,對於像這樣全局配置按鈕字體的任何人,您將無法以其他方式自定義某些按鈕的字體。 第二個建議是,如果您在別人之后繼續工作,請確保他們給您一些技術文檔,或者向您解釋他們的工作方式和方式。
編輯
但是,您可以在viewWillAppear中為一個視圖設置外觀,然后將其設置回該視圖的viewDidAppear中CSAppDelegate.m中的外觀。
編輯
現在此代碼已折舊,因此您必須改用以下代碼:
[[[UIButton appearance] titleLabel] setFont:UIFont];
在我看來,問題在於字體名稱。 您在代碼中使用的字體名稱不是確切的名稱。
您可以使用以下代碼獲取應用支持的所有字體名稱的列表
// List all fonts on iPhone
for (NSString* family in [UIFont familyNames])
{
NSLog(@"%@", family);
for (NSString* name in [UIFont fontNamesForFamilyName: family])
{
NSLog(@" %@", name);
}
}
從xcode的控制台中,您可以找到在應用程序中添加的字體的確切名稱。
如果您與Xib一起使用,請刪除自動版式復選標記,它將正常工作。 我認為它對您有幫助。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.