我有一些使用beginAnimations进行旋转的动画。 我想要隐藏有问题的UIview,当然我尝试更改隐藏属性但没有发生任何事情。 这是代码
CGAffineTransform rotation = CGAffineTransformMakeRotation( angelToRotate(-90));
[UIView beginAnimations: @"" context: NULL];
self.view.hidden = TRUE;
[UIView setAnimationDuration: 0.4];
self.view.transform = CGAffineTransformConcat(self.view.transform, rotation);
self.view.hidden = FALSE;
[UIView commitAnimations];
我也尝试在视图上更改alpha,但仍然没有。
有什么想法吗?
答案 0 :(得分:1)
CGAffineTransform rotation = CGAffineTransformMakeRotation( angelToRotate(-90));
[UIView animateWithDuration:0.4 animations:^
{
self.view.transform = CGAffineTransformConcat(self.view.transform, rotation);
self.view.alpha = 0.0;
}
completion:^(BOOL finished)
{
self.view.alpha = 1.0;
}];
或者:
CGAffineTransform rotation = CGAffineTransformMakeRotation( angelToRotate(-90));
[UIView beginAnimations:nil context: NULL];
[UIView setAnimationDuration:0.4];
[UIView setAnimationDelegate:self];
[UIView setAnimationDidStopSelector:@selector(animationDidStop:finished:context:)];
self.view.transform = CGAffineTransformConcat(self.view.transform, rotation);
self.view.alpha = 0.0;
[UIView commitAnimations];
- (void) animationDidStop: (NSString *) animationID finished: (NSNumber *) finished context: (void *) context
{
self.view.alpha = 1.0;
}
答案 1 :(得分:0)
作为开始尝试取走self.view.hidden = TRUE 如果我正确地得到你的代码,动画应该消失并在.4秒后重新出现?
隐藏和显示相同的功能不会那样。
您可以调用另一个专门执行self.view.hidden = FALSE
的函数