Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/24.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 “为什么?”+;(void)setAnimationStartDate:(NSDate*)startDate&引用;不行_Ios_Objective C_Nsdate_Uiviewanimation - Fatal编程技术网

Ios “为什么?”+;(void)setAnimationStartDate:(NSDate*)startDate&引用;不行

Ios “为什么?”+;(void)setAnimationStartDate:(NSDate*)startDate&引用;不行,ios,objective-c,nsdate,uiviewanimation,Ios,Objective C,Nsdate,Uiviewanimation,我正在研究UIView Animation,我发现当我使用+(void)setAnimationStartDate:(NSDate*)startDate;“在beginAnimations:context:和commitAnimations方法之间,它不起作用 [UIView beginAnimations:@"demo" context:nil]; [UIView setAnimationDuration:3.0f]; [UIView setAnimationStartDate:[NSDate

我正在研究
UIView Animation
,我发现当我使用
+(void)setAnimationStartDate:(NSDate*)startDate
;“在
beginAnimations:context
:和
commitAnimations
方法之间,它不起作用

[UIView beginAnimations:@"demo" context:nil];
[UIView setAnimationDuration:3.0f];
[UIView setAnimationStartDate:[NSDate date]];
// do something
[UIView commitAnimations];
因为默认方法是now(
NSDate
date),所以我甚至尝试了“
[nsdatedatewithtimeintervalsincenow:5]
”,它也不起作用


如果我不使用这个方法,它会像往常一样工作。谢谢。

您正在调用
setAnimationStartDate
,这意味着您正在为此动画提供开始时间。因此,在这一时刻到来之前,它不会启动

作为国家

在beginAnimations:context:和committeanimations方法之间调用此方法,以指定该动画集的开始时间。并在更改视图的可设置动画的属性之前调用此方法。(不要将此方法与基于块的动画一起调用。)如果不调用此方法,则开始时间将设置为CFAbsoluteTimeGetCurrent函数返回的值,该函数将尽快开始动画

iOS 4.0及更高版本不鼓励使用此方法。您应该使用基于块的动画方法来指定动画

有关更多详细信息,请参阅文档


希望这会有所帮助:)

看看。我认为您只需要使用
animateWithDuration:delay:options:animations:completion:
UIView
的方法重构代码,您可以使用
setAnimationDelay:
实现相同的功能。它起作用了

[UIView setAnimationDelay:5];

有关详细信息,请参阅。不确定为什么
setAnimationStartDate:
不起作用,它应该起作用,因为上面的文档中提到了这一点。

您好。我尝试使用“[nsdatedatewithtimeintervalsincenow:5]”。但是,我等了5秒钟后,它就不起作用了。我在互联网上搜索,有人说使用“[UIView setAnimationStartDate:CFAbsoluteTimeGetCurrent()+5];”,它现在无法编译。是的,因为您传递的是'CFAbsoluteTime'类型的参数,而不是
NSDate
type!现在告诉我你到底想做什么?是否要设置视图的动画?或者您想在特定的预定义时间制作动画?谢谢。我正在学习
UIView
,我只是想知道每一种方法。我只是不明白为什么不工作。也许苹果改变了这种方法。是的,我尝试使用
[NSDate datewithtimeintervalcesceReferenceDate:CFAbsoluteTimeGetCurrent()+3]
,但仍然不起作用谢谢。我正在学习
UIView
,我只是想知道每一种方法。我只是不明白为什么不工作。也许苹果改变了这个方法。我会用其他方法代替。