2012-01-26 11 views
0

Xcode 4では、フォントがOSにインストールされていないか、またはリストに表示されていない場合、ビューのラベルのフォントファミリをInterface Builderで設定することはできませんIBのフォント。ビュー内のすべてのラベルにカスタムフォントを設定する

特定のビュー内のすべてのラベルが同じフォントを使用するため、ファミリフォントを1つずつ設定するのではなく、すべて同じフォントファミリに設定する簡単で迅速な方法があるかどうかを知る必要があります。

答えて

8

IBOutletCollectionを使用できます。コレクションを作成し、すべてのラベルをIBに接続します。コードでは、setValue forKeyだけを使用します。それがより効率的かどうかは分かりませんが、サブビューをループする必要はありません。

.h 
IBOutletCollection(UILabel) NSArray *labels; 

.m 
UIFont *newFont = [UIFont fontWithName:@"HelveticaNeue-CondensedBold" size:14]; 
[labels setValue:newFont forKey:@"font"]; 
1

問題のビューのサブビュー配列プロパティの各エントリをループすることができます。それぞれがUILabelisKindOfClass:[UILabel class]を送信)であるかどうかを確認します。そうであれば、fontプロパティを適切なフォントオブジェクトに設定できます。

+0

素晴らしいですが、それは私がやりたいことです。それ以外の方法がない場合は、私はそれを取るでしょう... – subharb

+0

'UILabel'の外観がプロキシーであるという証拠は見つけられませんが、iOS 5のみを' appearance'プロキシとして試すことができます。私は後で実験をするつもりです。 –

+0

クイックルックを持っています - 外観プロキシシステムでサポートされている「UILabel」プロパティはありません。だから、すべてをループすることが最善の策だと思われます。 –

関連する問題