【问题标题】:Scaling an image to disappear from left to right缩放图像以从左到右消失
【发布时间】:2011-02-24 14:11:01
【问题描述】:

我想通过将图像从左到右水平缩放到 0.0 来使图像消失。

首先我尝试了这段代码,它使图像变得非常大并在消失之前在屏幕上旋转:

[UIView beginAnimations:nil context:NULL];
[UIView setAnimationDuration:0.6];
imageName.transform = CGAffineTransformMakeScale(0.0, 1.0);
[UIView commitAnimations];

然后我把变换改成 scale(0.1, 1.0)

[UIView beginAnimations:nil context:NULL];
[UIView setAnimationDuration:0.6];
imageName.transform = CGAffineTransformMakeScale(0.1, 1.0);
[UIView commitAnimations];

这正是我想要的效果,除了它从左右两侧缩小到 0.1 水平比例,在中间相遇。我想让它从左到右缩小,我也想让它一直缩小到0.0,这样它就完全不可见了。

任何帮助将不胜感激 - 非常感谢!

【问题讨论】:

    标签: iphone animation transform scale uianimation


    【解决方案1】:

    我希望它从左到右缩小

    在开始动画之前设置imageName.layer.anchorPoint = CGPointMake(1.0f, 0.5f);

    我还希望它一直缩小到 0.0,使其完全不可见。

    尝试设置一个很小但不为零的比例因子,例如0.000001。然后,当动画完成后,将视图从其父视图中移除。

    【讨论】:

    • 谢谢!这非常适合创建我想要的动画,但是当设置了锚点时,它将图像向左移动。我可以通过让图像在 IB 中比我想要的更靠右开始并在 viewDidLoad 期间设置 anchorPoint 使其向左弹出到正确的位置来捏造它,但很高兴知道我是否可以避免 anchorPoint 移动图片如果你有任何想法。再次感谢!
    • 这是我所做的:CGRect frame = imageName.frame; imageName.layer.position = CGPointMake((imageName.layer.position.x + ((frame.size.width / 2)), imageName.layer.position.y); 这将图像移回右侧以补偿当我将 anchorPoint 设置为 (1.0f, 0.5f) 时发生的向左移动
    猜你喜欢
    • 2016-01-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-05-28
    • 1970-01-01
    相关资源
    最近更新 更多