首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >iOS - UIPinchGestureRecognizer & UIPanGestureRecognizer -重置

iOS - UIPinchGestureRecognizer & UIPanGestureRecognizer -重置
EN

Stack Overflow用户
提问于 2013-06-20 02:40:54
回答 1查看 741关注 0票数 0

在我的缩放和摇摄申请中,我使用了上述手势识别器。这很好用。我想要一个按钮,它将图像带回到初始状态。这意味着显示实际图像或重置到初始状态。有人能告诉我如何做到这一点吗?

守则如下:

代码语言:javascript
复制
-(void)handlePanGesture:(UIPanGestureRecognizer*)recognizer

{
    CGPoint translation = [(UIPanGestureRecognizer*)recognizer translationInView:[self superview]];
    recognizer.view.center = CGPointMake(recognizer.view.center.x + translation.x, recognizer.view.center.y + translation.y);
    [(UIPanGestureRecognizer*)recognizer setTranslation:CGPointMake(0, 0) inView:[self superview]];
}

-(void)handlePinchGesture:(UIPinchGestureRecognizer*)recognizer
{
    static CGRect initialBounds;

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

    CGAffineTransform zt = CGAffineTransformScale(CGAffineTransformIdentity, factor, factor);
    self.bounds = CGRectApplyAffineTransform(initialBounds, zt);
}
EN

回答 1

Stack Overflow用户

发布于 2016-08-03 12:55:38

基于@borrden的评论。

  1. 检查ImageView的当前中心与原始中心是否相同。如果不重置ImageView的中心。您可以添加一个UIView.animation。让它看起来很好。
  2. 通过将imageView设置为imageView,将其调整为原始大小这也可以添加到UIView.animation中。在上面。
  3. 代码。根据你的需要做出改变。 UIView.animateWithDuration(0.2,延迟: 0.0,选项:.CurveEaseIn,动画:{//将图像移回中心self.mainImageView.center = self.originalCenter!self.layoutIfNeeded() //调整图像大小为原始self.mainImageView.transform = CGAffineTransformIdentity },完成:0)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17204467

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档