【发布时间】:2011-02-16 14:32:31
【问题描述】:
我正在尝试关闭我之前使用相同的动画块添加的UIView,并从alpha 0 -> alpha 100 和[self.view addSubview:newInitiateWindow.view]; 淡入淡出创建窗口时动画块正确执行,但是当它被关闭时,它只是停止 0.75 秒,然后消失,没有任何动画。即使我删除 removeFromSuperview 并释放调用,它也不会将淡入淡出设置为透明。
这是应该生成动画的代码:
[UIView transitionWithView:newInitiateWindow.view
duration:0.75
options:UIViewAnimationOptionCurveEaseIn
animations:^{
newInitiateWindow.view.alpha = 0;
}
completion:^(BOOL finished){
if(finished){
[newInitiateWindow.view removeFromSuperview];
[newInitiateWindow release];
newInitiateWindow=nil;
}
}
];
【问题讨论】:
-
尝试将 UIViewAnimationOptionAllowAnimatedContent 添加到您的选项中。
-
我尝试了同样的结果。这很奇怪,因为这个完全相同的代码适用于淡入(除了更改 alpha = 100)并且我在开始动画块之前添加了子视图。
-
好的,这里有一些进一步的测试......即使使用最基本的块动画,我仍然无法让它工作:[UIView animateWithDuration:1.0 animations:^{ newInitiateWindow.view.alpha = 0.0 ; }];
-
这段代码是在主线程上运行的吗?
标签: iphone ios animation uiview ios-4.2