[英]Animate Button When View is called
视图加载时,我需要使用UIView动画进行按钮移动。 按下按钮时,几乎相同的动画在另一个视图中起作用。 这是我的ViewDidLoad
HTMLButton.hidden = NO;
HTMLButton.enabled = NO;
[UIView animateWithDuration:1.0
animations:^{
CGRect HTMLRect = HTMLButton.frame;
HTMLRect.origin = CGPointMake(HTMLRect.origin.x, HTMLRect.origin.y + 70);
HTMLButton.frame = HTMLRect;
NSLog(@"Animation Called");
}];
NSLog确实可以编译,但是根本不动画。 我可以在这里不给动画打电话吗,还是我做错了什么?
谢谢任何可以帮助的人
编辑:我在不同的按钮中使用了从单独的IBAction调用的同一动画,该动画仍然无法正常工作
viewDidLoad或viewDidAppear内部可能会干扰动画。 viewDidLoad中可能还有其他任务,因此在调用换帧动画时,按钮甚至没有完全加载。 我不确定这是否可以解决您的问题,但是如果发生在我身上,我肯定会尝试一下:
double delayInSeconds = 0.2; //Or you may play with it further
dispatch_time_t popTime = dispatch_time(DISPATCH_TIME_NOW, (int64_t)(delayInSeconds * NSEC_PER_SEC));
dispatch_after(popTime, dispatch_get_main_queue(), ^(void){
[UIView animateWithDuration:1.0
animations:^{
CGRect HTMLRect = HTMLButton.frame;
HTMLRect.origin = CGPointMake(HTMLRect.origin.x, HTMLRect.origin.y + 70);
HTMLButton.frame = HTMLRect;
NSLog(@"Animation Called");
}];
});
这将稍微延迟动画调用(用户无法理解0.2秒的延迟),因此您的ViewController处于等待状态,而不是进行任何初始化。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.