gpt4 book ai didi

iphone - 核心动画从屏幕外到屏幕上的动画

转载 作者:可可西里 更新时间:2023-11-01 06:22:23 24 4
gpt4 key购买 nike

在我正在制作的应用程序中,我试图让一个按钮从屏幕开始并在屏幕上移动。我不确定如何从屏幕外的按钮开始,但我知道一旦我弄明白了,我就可以像下面的代码那样做:

[UIView beginAnimation:@"animate" context: nil];
[UIView setAnimationDuration:3];
self.myButton.frame = CGRectMake (20, 100, 40, 80);
//Other animations
[UIView commitAnimations];

此外,在 [UIView beginAnimation:@"animate"context:nil]; 行中,上下文参数是否要求 CGContextRef?

最佳答案

我假设您正在询问如何让按钮从屏幕外到屏幕上设置动画,为此只需将按钮原点位置设置为位于屏幕外的坐标即可。

self.myButton.frame = CGRectMake(-80, 100, 40, 80);

完成此操作后,您可以使用发布的代码在屏幕上制作动画。请记住,按钮将从第一个位置移动到第二个位置,这意味着如果您使用我使用的坐标,按钮将从左侧移动到屏幕上,而 y 位置不会改变。请记住,按钮离屏幕越远,它在 setAnimationDuration 中分配的时间内移动到屏幕上的速度就越快。

所以从左边动画到屏幕上

self.myButton.frame = CGRectMake(-80, 100, 40, 80);
// begin animation block
[UIView beginAnimations:@"animate" context: nil];
[UIView setAnimationDuration:3];
self.myButton.frame = CGRectMake (20, 100, 40, 80);
// commit frame changes to be animated
[UIView commitAnimations];

此外,如果按钮之前在屏幕上,它似乎会传送到屏幕外,然后在使用该代码时滑回屏幕。

哦,回答你关于上下文的问题,不,它不一定是 CGContextRef,它可以是任何数据类型(只要它是一个对象而不是原始类型)。它基本上是动画发生时传递给委托(delegate)的数据。

关于iphone - 核心动画从屏幕外到屏幕上的动画,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10791760/

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