2016-11-30 3 views
1

私はアプリ内のテキストが会社のブランド規定に準拠している必要があるという要件をいくつか持っています。 特に、テキストには、トラッキングとリーディングの値が追加されている必要があります。 iOSにはトラッキングはありませんが、フォントのトラッキング値をフォント間隔値に変換するためにオンラインで何かが見つかりました。テキストに先行するスペースをどのように追加しますか?

しかし、テキストの先頭に追加することについては何も見つかりません。ここでは、要件からの引用があります:

"..大きなサイジング(18pt以上)の場合、タイプのポイントサイズの+2値も先頭に挿入します。また、アプリ内で使用されるフォントサイズのテーブルと、先頭に使用される関連値(30,26,20,18,12)もあります。

これらの先行する値をテキストに適用するにはどうすればよいですか?私はこれを検索しようとしましたが、まったく見つけられません。

私は

を言うどのhereを見た「NSStringDrawingUsesFontLeading - 基本的にリードするフォントはライン 間隔を意味し、このフラグは、フォントで指定されたデフォルトのライン 間隔を利用するためにコールを示しています。。」

これは先導と間隔が同じだと言っていますが、これは私を混乱させています。先頭に変更する唯一の方法は間隔を設定することですが、間隔は同じですが、フォントポイントのサイズに応じて先行する変更。

+0

「NSKernAttributeName」または「これ(Googleで10秒以内に検索されます)」(http://www.devsign.co/notes/tracking-and-character-spacing)についてはどうですか? –

+0

@意味のある事項カーニングが先導と同じであれば、有望であると思われます。私はフォントに関する初心者ですので、カーニングはGoogleに使用される検索用語であることに気付かず、検索用語として先頭に使用していました。 – Gruntcakes

+0

心配しないで、私もそれを見なければならなかった;-)タイポグラフィは血まみれの面白いですね。 –

答えて

0

私は、さまざまなフォントに名前を付けたい場合には、例えばHeaderFont、...これは、あなたが追加NSString性質を持っているNSAttributedStringサブクラスまたはカテゴリを作成提案したいとフォントサイズのプロパティ(またはenumたいサイズと場合によっては他の属性を定義します)。

そのNSStringプロパティの 'set'メソッドでは、さまざまな属性を設定するコードを記述します。

このようにして、これらの厄介な細部を隠し、それらを1つの中心に置き、非常に単純なクラスにします。

UILabel* someLabel; 

someLabel.attributedText = [[MyAttributedString alloc] initWithText:"Hello" font:HeaderFont]; 

幸運:

のようなものを見ることができます!

関連する問題