gpt4 book ai didi

ios - UIView 的动画退出

转载 作者:行者123 更新时间:2023-11-28 22:22:13 35 4
gpt4 key购买 nike

我想在 UIView 关闭时制作动画。我尝试阅读以下内容:

http://felipe.sabino.me/ios/2012/05/10/ios-uiview-transition-effects/

iPhone UIView Animation Best Practice

iOS UIView Animation CATransform3DMakeRotation confusion

但是,我想让它从屏幕的一侧过渡,就像 Google Chrome 应用中的图像一样。

Google Chrome UIView disappearing

是否有为此设置的其他动画?我找不到它...我假设它与 animateWithDurationCATransform 有关...有人可以为我指出正确的方向吗?

[编辑]

我使用下面的帖子和这篇帖子作为答案:

Setting a rotation transformation to a UIView or its layer doesn't seem to work?

我能够按照以下方式添加多个动画:

[UIView animateWithDuration: .2
delay: 0
options: (UIViewAnimationOptionCurveLinear | UIViewAnimationOptionAllowUserInteraction)
animations:^{self.view.center = CGPointMake(self.view.frame.origin.x * 3, self.view.frame.origin.y * 2), self.view.transform = CGAffineTransformMakeRotation(M_PI_4/2);}
completion:nil];

以前我不知道您可以如此轻松地添加多个动画。这增加了旋转和线性运动。

最佳答案

为您的 View 设置动画,使其移出屏幕/缩小/展开/淡出,然后在动画结束时执行实际移除操作。

您可以通过更改 beginAnimations/commitAnimations block 之间的 View 属性(位置/大小/偏移量)来完成此操作。然后,UIKit 将在指定的时间内为这些属性设置动画。

例如:

[UIView beginAnimations:nil context:NULL];
[UIView setAnimationDuration:0.30f];
view.transform =
CGAffineTransformMakeTranslation(
view.frame.origin.x,
480.0f + (view.frame.size.height/2) // move the whole view offscreen
);
background.alpha = 0; // also fade to transparent
[UIView commitAnimations];

在动画结束通知中,您可以删除 View 。

关于ios - UIView 的动画退出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20025990/

35 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com