如何在iphone中重绘基于UIBezierpath的textview文本内容

时间:2012-11-23 06:20:52

标签: iphone resize ios6 uitextview uibezierpath

我在uiview中使用UIBezierpath绘制消息气泡。我在bezier路径中渲染textview。我的问题是,当我在textview中输入文本时,我希望消息气泡大小动态增加,但我不能这样做。如何解决这个问题。

1 个答案:

答案 0 :(得分:2)

你可以调整相对于你的UITextview框架大小的UIBezier路径,如下所示:

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);

希望有所帮助!