1

カスタム UILabel サブクラスがあります。私がオーバーライドしている唯一のメソッドは、ここで概説されてdrawRectいるメソッドです。

UILabel のbounds.sizeorframe.sizeまたはlayer.bounds.sizeを渡すと、UILabelカスタム描画でない場合- (CGSize)sizeThatFits:(CGSize)sizeの値が返されます。つまり、返された CGSize の幅が狭すぎます。これは、文字間の間隔を広げているためです。

カスタム描画を考慮して、正しい幅を取得する適切な方法は何ですか?

4

1 に答える 1

2

sizeThatFits:適切な方法は、適切なサイズを計算するために自分自身をオーバーライドすることです。UIKit はそれを行うことができません。

于 2012-12-19T01:21:28.993 に答える