私のiPhoneアプリでは、すべてのUILabelsのカスタムフォントを設定しました(正確には、UILabelをサブクラス化してメソッドをオーバーライドし、そのメソッドでカスタムフォントを設定し、そのカスタムクラス)。問題は今、すべてのテキストが予想されるベースラインよりもはるかに下にレンダリングされるため、 'y'や 'g'のような文字は下に切り捨てられます。カスタムフォントのUILabelが間違ってレンダリングされた
UIButton custom font vertical alignment
Custom installed font not displayed correctly in UILabel
私は、これらのソリューションで説明したように(それが最初に990に設定された)アセンダと周りいじるみました:私はここで同様の問題について読みました。それを約500に設定すると良い結果が得られましたが、それ以後、複数行テキストの行が混ざり合っていることに気付きましたが、これは当然受け入れられません。 UITextViewsでは、初期のベースラインでフォントがうまく表示されるようです。
この問題を解決する実際の方法はありますか?もちろん、複数行か1行のテキストのために異なるアセンダでいくつかのフォントを保持することができますが、それはむしろ面倒な解決策です。
PS:フォントはotf形式で提供されますが、ttf 、同じ結果につながる。
...しかし0.25以外の異なる値を試してみる必要がある場合があります。 - (void)drawTextInRect :(CGRect)rect { CGFloat pointSize = self.font.pointSize; CGRect newRect = CGRectMake(rect.origin.x、rect.origin.y +(0.2 * pointSize)、rect.size.width、rect.size.height); [super drawTextInRect:newRect]; } – kgibbon