在 UIView 上缩放 UITextView 的字体大小
Posted
技术标签:
【中文标题】在 UIView 上缩放 UITextView 的字体大小【英文标题】:Scale font size UITextView on UIView 【发布时间】:2016-01-17 21:48:28 【问题描述】:我的UIView
上添加了UITextView
。它只是显示一个字符串。
当我将UIPinchGestureRecognizer
添加到我的UIView
时:
UIPinchGestureRecognizer * pinchGR = [[UIPinchGestureRecognizer alloc] initWithTarget:self action:@selector(handlePinch:)];
pinchGR.delegate = self;
[self addGestureRecognizer:pinchGR];
然后我处理我的 UIView 的操作并在 UITextView 中缩放字体大小
- (void)handlePinch:(UIPinchGestureRecognizer *)recognizer
recognizer.view.transform = CGAffineTransformScale(recognizer.view.transform, recognizer.scale, recognizer.scale);
CGFloat currentSize = _textView.font.pointSize;
CGFloat toSize = currentSize * recognizer.scale ;
[_textView setFont:[UIFont systemFontOfSize:toSize]];
recognizer.scale = 1;
这是我的结果,我的UITextView
显示非常糟糕(不透明)
我怎样才能像 Snapchat 一样做到这一点?
请给我一些想法。
【问题讨论】:
抱歉,这还不清楚。您要解决的问题是什么? @rmaddy 我已经更新了 textView 的字体大小,但文本仍然看不清楚 【参考方案1】:-(void)handlePinchWithGestureRecognizer:(UIPinchGestureRecognizer *)pinchGestureRecognizerher //UIFont *font = txtqutoes.font;
CGFloat pointSize = font.pointSize;
NSString *fontName = font.fontName;
UIFont *font = textview.font;
pointSize = ((pinchGestureRecognizer.velocity > 0) ? 1 : -1) * 1 + pointSize;
if (pointSize < 13) pointSize = 13;
if (pointSize > 80) pointSize = 80;
textview.font = [UIFont fontWithName:fontName size:pointSize];
试试这个!!!...
【讨论】:
以上是关于在 UIView 上缩放 UITextView 的字体大小的主要内容,如果未能解决你的问题,请参考以下文章
iPad 上带有 UITextView 的 InputAccessoryView