問題タブ [uifontdescriptor]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
3226 参照

ios - iOS で比例間隔の数値を (等幅/表ではなく) 表示する

数値を NSAttributedString に格納し、「drawAtPoint:」でレンダリングすることにより、iOS (7 以降をターゲット) で数値をレンダリングしています。私はHelvetica Neueを使っています。

このように描画された数字の桁数が比例していないことに気付きました。グリフはすべて同じ幅です。細い「1」でも「0」と同じスペースを占有します。

テストはこれを確認します:

と、他の場所で:

この結果のグリフはすべて同じ幅の 6.358 ポイントです。

比例桁グリフを有効にするためにオンにできるレンダリングオプションはありますか? プロポーショナル数字グリフをサポートする (理想的には組み込みの) 別のフォント (理想的には Helvetica Neue に似たもの) はありますか? 他に何か?

ありがとうございました。

0 投票する
5 に答える
5927 参照

ios7 - UIFontWeightTrait and UIFontDescriptorFamilyAttribute Ignored when creating UIFont from UIFontDescriptor

Given the following code and a device running iOS 7.1 or later:

I would expect the value of shouldBeAnUltraLightFont to be an instance of HelveticaNeue-UltraLight, but instead it is:

I am following the Apple documentation as far as I understand it. Why is the font family and font weight information completely ignored?

Things I’ve Tried

  • I've tried other family names like Helvetica, Avenir, etc.
  • I've tried other font weights in the valid range from -1 to 1, in increments of 0.25

Regardless of these changes, the font returned is always a vanilla instance of Helvetica at normal weight.

0 投票する
2 に答える
2321 参照

ios - iOS 8 でフォント記述子が nil を返す

次のコードは、iOS 7 では問題なく動作しますが、iOS 8 では太字または斜体フォントを返しません。Helvetica Neue では問題ありませんが、Arial フォントでは機能しません。

デバイスとシミュレーターでテストしても、同じエラーが発生します。

0 投票する
0 に答える
198 参照

ios - UIFont のストローク幅を決定する

CGContextRefインスタンスのストローク幅に一致するグラフィック要素のようなグリフを ( を使用して) 描画UIFontし、フォント サイズが変化しても調和して結合できるようにしたいと考えています。

UIFont、または が与えられた場合UIFontDescriptor、iOS の下でフォントのストローク幅を決定するための合理的に堅牢なメカニズムはありますか?

具体的には、Helvetica Neueに対してのみこれを行う必要があります。ただし、一般的な解決策があれば、素晴らしく、面白く、楽しく満足できます。


多くのフォントでは、個々のグリフ内でもストローク幅が異なります ( Zapfinoなど)。このような場合、ストローク幅を要求してもあまり意味がありません。クエリからの null の結果は、完全に妥当な応答です。

実際、Helvetica Neue でもグリフ内でストローク幅が均一にならない場合があると思います。ただし、いくつかの堅牢で合理的な近似は素晴らしいでしょう。たとえば、小文字の l で使用される幅。か何か。

0 投票する
0 に答える
75 参照

ios - フォントから文字を削除する

この WWDC docからわかる限り、私のコードは機能するはずですが、機能しません:

どうしたの?新しく作成されたフォントには、私が具体的に削除した文字がまだ含まれています。

0 投票する
1 に答える
138 参照

objective-c - UIFontDescriptor を変数に保存できないのはなぜですか?

次のコードがあります。

しかし、「期待される式」というエラーが表示されます。どういう意味ですか?

0 投票する
1 に答える
431 参照

ios - Object-C を SWIFT textKit に変換する

私のアプリでは、次のコードを使用して、テキストビュー内のテキストの状態を太字と斜体の間で変更しました。Swift で書き直そうとしていますが、コンパイル エラーが発生し続けます。以下は、オンライン チュートリアルで提供された Objective-C のバージョンです。それに続いて、メソッドがクラッシュするまでの私の新しい迅速なバージョンがあります。
コンパイラがなぜそれほど不平を言っているのかを理解するのに役立つかもしれない助けを感謝します。

// NSLog(@"the dict is: %@", dict);

}

SWIFT CODE: func addOrRemoveFontTraitWithName(traitName: String!, andValue traitValue: UInt32) {

}

0 投票する
2 に答える
6576 参照

ios - UIFont の重みの設定

iOS 8 では、薄いバリエーションで Helvetica Neue を取得するために、次のコードが機能します。

iOS 9 ではシステム フォントが San Francisco に変更されたため、これができなくなりました。このアプリでは絶対に Helvetia を使用する必要があり、フォントの太さを設定する方法がわかりません。これは私が現在使用しているコードです。

UIFontDescriptor を受け入れるコンストラクターがあることは知っています。それを使用する方法がわからない。どんな考えでも大歓迎です!

注: これを重複としてマークする前に、2 つの投稿のみが未回答であるか、現在機能していないことを知っておいてください。