How to redraw the UIBezierpath based textview text contentsize in iphone

亡梦爱人 提交于 2019-12-10 15:40:05

问题


I draw the message bubble using UIBezierpath in uiview. I render the textview inside the bezier path. My problem is when I enter the text in textview I want to message bubble size dynamically increase but I cannot do that. how can resolve the issue.


回答1:


You can resize the UIBezierpath relative to your UITextview frame size like this:

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

Hope that help!



来源:https://stackoverflow.com/questions/13524022/how-to-redraw-the-uibezierpath-based-textview-text-contentsize-in-iphone

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!