如何使用捏缩放(UIPinchGestureRecognizer)来改变UITextView的宽度?

Rya*_*zel 7 iphone objective-c pinch ipad

我可以让UIPinchGestureRecognizer处理程序使用缩放对象,但我不想扩展我想改变大小.例如,我有一个UITextView,我已经附加了一个UIPinchGestureRecognizer手势,如果用户捏,我想更改textview的宽度以匹配捏.我不想缩放它以便UITextView更大(缩放).

oqu*_*oqu 23

我正在做同样的事情.如果我发现如何做,我会更新这篇文章.

试试这个,它对我有用(对于UIView):

- (IBAction)handlePinchGesture:(UIGestureRecognizer *)sender {
    static CGRect initialBounds;

    UIView *_view = sender.view;

    if (sender.state == UIGestureRecognizerStateBegan)
    {
        initialBounds = _view.bounds;
    }
    CGFloat factor = [(UIPinchGestureRecognizer *)sender scale];

    CGAffineTransform zt = CGAffineTransformScale(CGAffineTransformIdentity, factor, factor);
    _view.bounds = CGRectApplyAffineTransform(initialBounds, zt);
    return;
}
Run Code Online (Sandbox Code Playgroud)


Pie*_*sma 0

我认为你想要做的只是将 textView 框架的宽度乘以手势识别器的比例:

CGFloat scale = gestureRecognizer.scale;
CGRect newFrame = textView.frame;
newFrame.size = CGSizeMake(scale*newFrame.size.width, newFrame.size.height);
textView.frame = newFrame;
Run Code Online (Sandbox Code Playgroud)

或者这不是你的意思?

  • 为什么不删除这个答案? (7认同)