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

我在uiview中使用UIBezierpath绘制消息气泡.我在bezier路径中渲染textview.我的问题是,当我在textview中输入文本时,我希望消息气泡大小动态增加,但我不能这样做.怎么解决这个问题. 最佳答案 您可以相对于您的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);

希望有所帮助!

点赞