点击调整视图大小

时间:2013-07-11 14:39:27

标签: ios objective-c uiview uitapgesturerecognizer

我有一个UIView作为绘制签名的面板,我提出了一些代码来挖掘和收缩面板。它似乎工作得很好,但代码似乎非常笨拙,我想知道是否有更好的方法来实现这一点。

我在视图中添加了一个点击手势识别器,将其连接起来并在.m中显示:

BOOL clientSigLarge;

- (IBAction)handleSigTap:(id)sender
{
    CGRect frame = self.clientSigView.frame;

    if (clientSigLarge)
    {
        frame.size.height -= 400;
        frame.size.width -= 350;
        frame.origin.x += 350;
        frame.origin.y += 400;
        self.clientSigView.frame = frame;
        clientSigLarge = NO;
    }
    else
    {
        frame.size.height += 400;
        frame.size.width += 350;
        frame.origin.x -= 350;
        frame.origin.y -= 400;
        self.clientSigView.frame = frame;
        clientSigLarge = YES;
    }
}

任何提示赞赏。

1 个答案:

答案 0 :(得分:1)

为了使其更流畅,请使用动画块,如果缩放比例是固定的(如2x,3x等),则使用CGAffineTransformScale

[UIView animateWithDuration: 1
                      delay: 0
                    options: (UIViewAnimationOptionCurveLinear | UIViewAnimationOptionAllowUserInteraction)
                 animations:^{myView.transform = CGAffineTransformScale(CGAffineTransformIdentity, xScaleValue, yScaleVale);}
                 completion:^(BOOL finished) { }
];

因此,在if-else条件下,只需更改X和Y比例值并使用相同的块。

以下是animations

的参考链接

希望这就是你要找的东西