【问题标题】:Scale font size UITextView on UIView在 UIView 上缩放 UITextView 的字体大小
【发布时间】: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 的字体大小,但文本仍然看不清楚

标签: ios objective-c uiview uitextview uipinchgesturerecognizer


【解决方案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];

试试这个!!!...

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-22
    • 2021-08-22
    • 2013-03-20
    • 1970-01-01
    相关资源
    最近更新 更多