代替

2012-03-21 12 views
8

私はしかし、NavigationController UI要素のシステム全体をカスタマイズすることが私のiOS5をアプリで登場プロキシを使用することができること愛している:代替

私は、ネストされたのがたくさんあります私のアプリケーションのテーブルは、私はすべてのテーブルのセルの間でフォントを変更することができたいと思っています。主に静的に作成されます。私は配列の中から読み込んだクラスの内部にいくつかのセル生成を入れましたが、主な問題はInterface Builderで紹介した大きな内容のセクションにあります。 IBは大量フォント設定のオプションを持っていないようです。

誰かが私がすべてのUITableCellフォントを一度に設定する方法を見つけるのを助けてくれるのだろうかと思っていましたか?

おそらくのようなもの:

[[UILabel appearance] setFont:[UIFont fontWithName:@"Times" size:17.00]; 

答えて

8

あなたがのために外観を設定したいUIViewsどの絞り込むことappearanceWhenContainedIn:を使用することができます。あなたの例では

は、試してみてください。実際に

[[UILabel appearanceWhenContainedIn:[UITableViewCell class], nil] 
      setFont:[UIFont fontWithName:@"Times" size:17.00]]; 
+0

ありがとうございます - 特定の要素に集中する良い方法 - 私はあなたのフィードバックに感謝します! – Sarreph

+0

同僚との長い熱い議論の末、彼は正しく(appearanceWhenContainedIn:に*応答する他のクラスの中で)UILabelが 'UIAppearance'プロトコルに準拠していないことを正しく通知しました。文書化されていないため、依拠されることはありません)。 – NSTJ

+0

@NSTJ 'UILabel'は、' UIAppearance'に準拠する 'UIView'を継承します。 ergo 'UILabel' *は' UIAppearance' ~~に従いますが、このメソッドは~~に依存することがあります。 – Austin

2

、ありません。 UIAppearanceを使用してUILabelをスタイルすることは有効ではありません。 my self-answered question hereを参照してください。それはちょっとうまくいくが、それ以上の理由で有効ではない。