Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/105.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 点击时调整视图大小_Ios_Objective C_Uiview_Uitapgesturerecognizer - Fatal编程技术网

Ios 点击时调整视图大小

Ios 点击时调整视图大小,ios,objective-c,uiview,uitapgesturerecognizer,Ios,Objective C,Uiview,Uitapgesturerecognizer,我有一个UIView作为一个用于绘制签名的面板,并且我已经想出了一些代码来在点击时扩展和收缩面板。它似乎工作得很好,但代码似乎真的很笨拙,我想知道是否有更好的方法来实现这一点 我在视图中添加了一个点击手势识别器,将其连接起来,并将其保存在我的.m中: BOOL clientSigLarge; - (IBAction)handleSigTap:(id)sender { CGRect frame = self.clientSigView.frame; if (clientSigL

我有一个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;
    }
}

任何提示都值得欣赏。

要使其更平滑,请使用动画块,如果缩放比例固定(如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比例值并使用相同的块

这里是一个参考链接


希望这就是您想要的

要使其更平滑,请使用动画块,如果缩放比例固定(如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比例值并使用相同的块

这里是一个参考链接


希望这就是您想要的

谢谢,我来试试。谢谢,我来试试。