Ios 使用UITextview调整字体大小
我想创建Ios 使用UITextview调整字体大小,ios,iphone,resize,uilabel,uitextview,Ios,Iphone,Resize,Uilabel,Uitextview,我想创建UITextView,它可以通过一个手指触摸(平移手势)进行缩放和旋转。但问题是文本字体大小没有正确缩放。请帮忙 它可以工作,但并不完美 -(void)resizeTranslate:(UIPanGestureRecognizer *)recognizer { if ([recognizer state]== UIGestureRecognizerStateBegan) { prevPoint = [recognizer locationInView:v
UITextView
,它可以通过一个手指触摸(平移手势)进行缩放和旋转。但问题是文本字体大小没有正确缩放。请帮忙
它可以工作,但并不完美
-(void)resizeTranslate:(UIPanGestureRecognizer *)recognizer
{
if ([recognizer state]== UIGestureRecognizerStateBegan)
{
prevPoint = [recognizer locationInView:vw_txtfield.superview];
[vw_txtfield setNeedsDisplay];
olddistance = sqrt(pow((vw_txtfield.frame.origin.x - prevPoint.x), 2.0) + pow((vw_txtfield.frame.origin.y - prevPoint.y), 2.0));
}
else if ([recognizer state] == UIGestureRecognizerStateChanged)
{
CGPoint point = [recognizer locationInView:vw_txtfield.superview];
newdistance = sqrt(pow((vw_txtfield.frame.origin.x - point.x), 2.0) + pow((vw_txtfield.frame.origin.y - point.y), 2.0));
float wChange = 0.0, hChange = 0.0;
wChange = newdistance / olddistance ;//Slow down increment
NSLog(@"wchange %f",wChange);
hChange= newdistance / olddistance;
NSLog(@"hchange %f",hChange);
if (txt_LableText.font.pointSize<=6 && wChange<1) {
return;
}
else
{
vw_txtfield.bounds = CGRectMake(vw_txtfield.bounds.origin.x, vw_txtfield.bounds.origin.y, vw_txtfield.bounds.size.width * (wChange), vw_txtfield.bounds.size.height * (hChange));
[txt_LableText setContentScaleFactor: newdistance / olddistance ];
float int_NewFontsize= ( newdistance / olddistance) * txt_LableText.font.pointSize;
NSLog(@"font size %f",int_NewFontsize);
[txt_LableText setFont:[UIFont fontWithName:txt_LableText.font.fontName size:int_NewFontsize]];
prevPoint = [recognizer locationInView:vw_txtfield.superview];
[vw_txtfield setNeedsDisplay];
olddistance = sqrt(pow((vw_txtfield.frame.origin.x - point.x), 2.0) + pow((vw_txtfield.frame.origin.y - point.y), 2.0));
}
}
else if ([recognizer state] == UIGestureRecognizerStateEnded)
{
prevPoint = [recognizer locationInView:vw_txtfield.superview];
[vw_txtfield setNeedsDisplay];
}
}
-(void)resizeTranslate:(UIPangestureRecognitor*)识别器
{
if([Recognitor state]==UIgestureRecognitzerState开始)
{
prevPoint=[识别器位置视图:vw_txtfield.superview];
[vw_txtfield设置需要显示];
olddistance=sqrt(功率((vw_txtfield.frame.origin.x-prevPoint.x),2.0)+功率((vw_txtfield.frame.origin.y-prevPoint.y),2.0);
}
else if([Recognitor state]==UIgestureRecognitzerStateChanged)
{
CGPoint point=[识别器位置视图:vw_txtfield.superview];
newdistance=sqrt(功率((vw_txtfield.frame.origin.x-point.x),2.0)+功率((vw_txtfield.frame.origin.y-point.y),2.0);
浮动wChange=0.0,hChange=0.0;
wChange=newdistance/olddistance;//减慢增量
NSLog(@“wchange%f”,wchange);
hChange=新距离/旧距离;
NSLog(@“hchange%f”,hchange);
如果(txt_LableText.font.pointSize)添加了一些代码,那么我们可以帮助您。您的UITextView
是可编辑的吗?一个想法:尝试使用UITextView
的初始帧,而不是使用最后一帧。这可能会奏效。您喜欢这个问题吗?