4

uiviewでUIBezierpathを使用してメッセージバブルを描画します。ベジェパス内にテキストビューをレンダリングします。私の問題は、textviewにテキストを入力するときに、メッセージバブルのサイズを動的に大きくしたいのですが、それができません。どうすれば問題を解決できますか。

4

1 に答える 1

2

次のように、UITextviewフレームサイズを基準にしてUIBezierpathのサイズを変更できます。

CGRect box = CGPathGetBoundingBox(bezierpath.CGPath)
CGFloat scaleX = textView.frame.size.width / box.frame.size.width;
CGFloat scaleY = textView.frame.size.height / box.frame.size.height;
CGAffineTransform transform = CGAffineTransformMakeScale(scaleX, scaleY);
CGPathRef intermediatePath = CGPathCreateCopyByTransformingPath(bezierpath.CGPath, &transform);
bezierPath.CGPath = intermediatePath;
CFRelease(intermediatePath);

お役に立てば幸いです。

于 2012-11-23T06:40:33.867 に答える