2013-05-19 5 views
10

UILabelOpenSansフォントを使用したいですが、iOSシミュレータに表示されません。表示されるのは、デフォルトのシステムフォントだけです。私は持っています:iOSシミュレータでOpenSansフォントが機能しない

1)アプリケーションフォルダにコピーするために選択されたプロジェクト+にファイルを追加しました。

2)Info.plistに追加されました。

info.plist

3)Xcodeは自動的に私のビルドフェーズフォルダにすべてのフォントを追加しました。

4)プロジェクトをクリーンアップし、再度ビルドしました。

それでも表示されません!私のコードでは、私はこれを持っています:

self.itemPrice = [[UILabel alloc] initWithFrame:CGRectMake(230.0, 30.0, 75.0, 30.0)]; 
     self.itemPrice.adjustsFontSizeToFitWidth = YES; 
     self.itemPrice.font = [UIFont fontWithName:@"OpenSans-ExtraBold" size:13.0f]; 
     self.itemPrice.textAlignment = NSTextAlignmentCenter; 
     self.itemPrice.text = [NSString stringWithFormat:@"%@", [Formatters formatPrice:self.item.price]]; 
     [self.slidingDetailScrollView addSubview:self.itemPrice]; 

誰もがこの奇妙なバグの原因を知っていますか?

+3

'fontWithName'にはファイル名ではなくフォント名が必要であることに注意してください。フォント名は "OpenSans ExtraBold"などとすることができますが、 "Font Book"アプリケーションでフォントを開くとそのフォントを確認できます。 –

+1

あなたは間違ったフォント名を入力していて、設定されているすべてのフォントリストを印刷し、名前を2回確認しているかもしれません。 –

答えて

9

この小さなエラーのために修正されました。

self.itemPrice.font = [UIFont fontWithName:@"OpenSans-Extrabold" size:13.0f]; 

Extraboldであり、ExtraBoldではない。私はFont Viewerを推奨どおりに開きました。それはPostScript Nameの下に示しました。

私は今、#defineのフォント文字列名をそこに配置し、アプリケーション全体でそれを使用して、コードの途中でユーザーエラーやリテラル文字列を避けるようにしました。

関連する問題