を 3D 空間で回転させた後UILabel
、切り捨てられます。最初はテキストがうまく収まるので、ラベルが回転後にテキストを切り捨てる理由はわかりません。
前
後
これが私のローテーションコードです。コードをコメントアウトすると ( を除くsizeToFit
)、すべて問題なく収まります。
CALayer *layer = label.layer;
CATransform3D rotationAndPerspectiveTransform = CATransform3DIdentity;
rotationAndPerspectiveTransform.m34 = 1.0 / -500;
rotationAndPerspectiveTransform = CATransform3DRotate(rotationAndPerspectiveTransform, 45.0f * M_PI / 180.0f, 0.0f, 1.0f, 0.0f);
layer.transform = rotationAndPerspectiveTransform;
[label sizeToFit];
を呼び出した後にラベルのフレームのサイズを変更できますが、sizeToFit
プログラムで正しい数を判断できません。次のコードでは、テキストの幅を決定し、ラベルのフレームのサイズを変更していますが、テキストはまだ切り詰められています。
CGRect frame = label.frame;
frame.size.width = [label.text sizeWithFont:label.font].width;
label.frame = frame;