私のアプリでは、iOSのシステムフォント "Hiragino Sans W3"を使用する必要がありますが、サイズ/スタイルやUILabel
のサイズフォントのアセンダとディセンダは常にクリッピング表示されます。これが、これが「正しい」値を返すようにする方法textRectForBounds:limitedToNumberOfLines:
をUILabel
のサブクラスを作成し、上書きすることで固定できるようですシステムフォント "Hiragino Sans"はクリッパーされた昇順と降順で表示されます
。したがって、次のコード...
- (CGRect)textRectForBounds:(CGRect)bounds limitedToNumberOfLines:(NSInteger)numberOfLines
{
CGRect result = [super textRectForBounds:bounds limitedToNumberOfLines:numberOfLines];
result = CGRectInset(result, 0, -5);
return result;
}
...もうクリッピングされていないアセンダとディセンダの両方で結果:
私はそれがフォントアセンダとディセンダ位置を調整することも可能です知っています外部エディタを使用します。 しかし、これはシステムフォントです。何も変更しなくても正しく動作するはずはありませんか?私がここで紛失しているものはありますか?
ご回答ありがとうございます。
私はあなたにとってより良い答えを得たいと思っていますが、私が言うことができるのは、これを再現することができ、予期せぬことに同意したことです。 Appleにバグレポートを提出したいかもしれません。 – allocate