2012-03-16 129 views
1

這是我如何設置自定義字體在我的應用程序設置自定義字體

[self.titleLabel setFont:[UIFont fontWithName:@"FontName" size:self.font.pointSize]]; 

我得到的字體已被棄用。

如何解決這個問題?

//編輯

UIButtonCustom.h

#import <Foundation/Foundation.h> 


@interface UIButtonCustom : UIButton 
@end 

UIButtonCustom.m

-(void)awakeFromNib 
{ 
    [super awakeFromNib]; 
    [self.titleLabel setFont:[UIFont fontWithName:@"FontName" size:self.font.pointSize]];  
} 
+0

titlelabel是一種'UILabel'類嗎? – 2012-03-16 20:35:00

+1

['UILabel'](http://developer.apple.com/library/ios/#DOCUMENTATION/UIKit/Reference/UILabel_Class/Reference/UILabel.html)'font'屬性不會被棄用,因此它是安全的假設OP是從'font'被棄用的類繼承的。 – Joe 2012-03-16 20:37:36

+0

我已更新我的問題 – OhDoh 2012-03-17 09:18:21

回答

4

既然你不說self是什麼類型的類的我不知道是什麼原因,你有已棄用的消息。通常情況下,如果您收到關於某些被棄用的信息,請參閱documentation,如果它是第三方(不是Apple或您的代碼),請參閱第三方文檔。確定自己的層次結構中所屬的類字體,然後檢查文檔。文檔將幾乎總是提供新的首選方式來完成相同的事情。

更新:

正如我上文所述,是指UIButton's documentation,你會發現:

用於在按鈕上顯示文本的字體。 (在iOS 3.0中不推薦使用 改爲使用titleLabel的font屬性。)

+0

我已更新我的問題。 – OhDoh 2012-03-17 09:19:05

+0

答案是正確的,您看到的棄用消息是因爲您仍在'fontWithName:size:'調用中引用'self.font'。 – omz 2012-03-17 15:53:33

4

您可以像這樣修復它。

[self.titleLabel setFont:[UIFont fontWithName:@"FontName" size:self.titleLabel.font.pointSize]];