3

これはあなたにとって興味深い問題です:

現在、100,000 行以上のコードと 100 近くの XIB ファイルで構成されるアプリ全体のスキンを変更中です。新しいデザインでは、アプリ内の (ほぼ) すべてのラベルに新しいカスタム フォントを使用する必要がありますが、古いアプリでは Helvetica Neue のデフォルト フォントが使用されます。

できるだけ多くの UILabels を変更する最も効率的な方法は何ですか? コードと XIB の両方で何千ものラベルを手動で変更する必要はありません (非システム フォントを使用しているため、これは特に困難です)。

UILabel の作成方法のスウィズリングをデフォルトで新しいカスタム フォントを使用することについて説明しました。これにより、Helvetica Neue に残るいくつかのラベルを作成後にカスタマイズすることができます。

考え?

4

3 に答える 3

3

NUI https://github.com/tombenner/nuiをご覧ください。CSS のようなスタイルシートを使用して多くのコントロールをカスタマイズし、サブクラスまたはカテゴリを介して実装できます。

于 2013-01-02T20:44:52.033 に答える
2

おそらく UILabel をサブクラス化しinit、選択したメソッドまたはをオーバーライドして、awakeFromNibそこにカスタム フォントを設定する必要があります。次にxib、手動で、またはテキストエディターで開いて、次のような行を追加できます。

<string key="X.CustomClassName">YourCustomLabelClass</string>

指定したラベルをカスタム ラベル クラスに設定します。

于 2013-01-02T20:27:01.787 に答える
0

スウィズリングは良いオプションです。別の方法でカスタム フォントに問題がある場合は、通常、カスタム フォントごとに awakeFromNib のフォントを変更する UILabel の簡単なサブクラスを作成して、インターフェイス ビルダーでレイアウトできるようにします。

しかし...これは私の頭に浮かびます:[[UILabelの外観] setFont:xxx];

ただし、サイズを維持する方法はわかりません。おそらくスウィズルが最良の選択です

于 2013-01-02T20:24:38.980 に答える