私の iPhone アプリでは、すべての UILabels にカスタム フォントを設定しました (より正確には、UILabel をサブクラス化し、メソッドをオーバーライドし、そのメソッドでカスタム フォントを設定し、IB のすべてのラベルをそのカスタム クラスに設定しました)。ここでの問題は、すべてのテキストが予想されるベースラインよりもはるかに下にレンダリングされるため、「y」や「g」などの文字が下で途切れることです。ここで同様の問題について読みました:
カスタム インストールされたフォントが UILabel に正しく表示されない
次に、これらのソリューションで説明されているように、アセンダーをいじってみました (最初は 990 に設定されていました)。約 500 に設定すると良い結果が得られましたが、その後すぐに、複数行のテキストの行が互いに混ざり合っていることに気付きました。これはもちろん受け入れられません。ただし、UITextViews では、フォントは最初のベースラインで正常にレンダリングされるようです。
この問題を解決する実用的な方法はありますか? もちろん、複数行テキストまたは単一行テキスト用に異なるアセンダーを持つ複数のフォントを保持することもできますが、それはかなり厄介な解決策です..
PS: フォントは otf 形式で提供されていますが、ttf に変換してみましたが、同じ結果になりました。