Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/120.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_Zooming_Uiviewanimation - Fatal编程技术网

IOS核心动画,用于放大和缩小

IOS核心动画,用于放大和缩小,ios,zooming,uiviewanimation,Ios,Zooming,Uiviewanimation,我正在制作一个pictureView,需要在点击时进行放大和缩小, 我已经搜索了适当的放大和缩小功能,但没有找到(我尝试用UIView完成相同的任务,但效果不好),所以我来问是否有人可以帮忙 我有4个图像组合在一个tableview中,2个在一行中。 我想要的是,若用户点击一个图像,它只是放大,若他再次点击,它应该缩小。 下面是我迄今为止尝试过的代码示例 [UIView animateWithDuration:1.0f animations:^{ img.frame = CGRectMa

我正在制作一个pictureView,需要在点击时进行放大和缩小, 我已经搜索了适当的放大和缩小功能,但没有找到(我尝试用UIView完成相同的任务,但效果不好),所以我来问是否有人可以帮忙

我有4个图像组合在一个tableview中,2个在一行中。 我想要的是,若用户点击一个图像,它只是放大,若他再次点击,它应该缩小。 下面是我迄今为止尝试过的代码示例

[UIView animateWithDuration:1.0f animations:^{
    img.frame = CGRectMake(0, 0, 300, 300);
    img.alpha = 1.0;
}];
但当我尝试使用它时,它不是放大,而是从4条对角线中的一条翻译过来:(我希望我已经尽可能地澄清了这个问题

问候

  • 您需要为要添加到单元格中的每个
    UIImageView
    添加点击手势识别器
  • 您需要隐藏
    UIImageView
    才能在用户点击图像时显示。 以下是您随时可以执行的操作: 2.1将图像指定给隐藏的
    UIImageView
    ,将其alpha设置为0.0并使其不隐藏 2.2为隐藏图像视图设置适当的框架。 2.3为图像的显示设置动画,如
  • 2.4将点击手势识别器添加到隐藏图像视图中,以便在用户点击时将其关闭。 2.5当用户点击时制作反向动画,例如在uiview动画块中将显示图像视图的alpha设置为0.0

    我没有提供整个过程的代码,假设你会学习和记住这些东西。 祝你好运


    编辑:别忘了将隐藏的uiimageview添加到您的视图中。

    根据我的问题,一切都很好,问题是每当我点击图像,而不是缩放时,它都会转换为:(您可以添加一些屏幕截图吗?
    [UIView animateWithDuration:1.0f animations:^{
        img.frame = CGRectMake(0, 0, 300, 300);
        img.alpha = 1.0;
    }];