Uiview 为视图设置动画时,单击UIButton
我在动画方面面临一个问题 所以现在在我的应用程序中,我有一个子视图,它有一个关闭按钮。按下“关闭”按钮时,会出现向下卷曲动画,显示上一个视图。这是正常工作。我通过如下方式向NSNotificationCenter传递通知来执行向下卷曲关闭动画Uiview 为视图设置动画时,单击UIButton,uiview,uibutton,ipad,nsnotificationcenter,uianimation,Uiview,Uibutton,Ipad,Nsnotificationcenter,Uianimation,我在动画方面面临一个问题 所以现在在我的应用程序中,我有一个子视图,它有一个关闭按钮。按下“关闭”按钮时,会出现向下卷曲动画,显示上一个视图。这是正常工作。我通过如下方式向NSNotificationCenter传递通知来执行向下卷曲关闭动画[[NSNotificationCenter defaultCenter]postNotificationName:notificationName对象:self] 现在我想把一个动画应用到关闭按钮本身,这样当我按下关闭按钮时,它将执行一个动画,同时也会出现
[[NSNotificationCenter defaultCenter]postNotificationName:notificationName对象:self]代码>
现在我想把一个动画应用到关闭按钮本身,这样当我按下关闭按钮时,它将执行一个动画,同时也会出现向下卷曲的动画。因此,我这样做的方式是通过以下代码
[UIView transitionWithView:self.view.superview duration:1
options:UIViewAnimationOptionCurveEaseIn
animations:^ {
closeButton.frame = CGRectMake(500, 15, 100, 40); }
completion:nil];
其中之前closeButton.frame的值为(580,15100,40),因此动画就像图像从右向左从580移动到500
因此,当我运行代码时,当我按下close按钮时,close按钮动画不会发生,但会发生curl down动画。因此,为了测试我在发布通知时注释掉的代码,close按钮动画工作得很好,但是curl down动画不会出现,也不会出现上一个视图(因为我没有发送会导致视图关闭的通知)
我想知道这里出了什么问题,以及为什么不允许两个动画同时出现。以下是我解决问题的方法
我使用了使用块的嵌套动画,我在close按钮动画的完成部分包含了向下卷曲关闭视图的代码
[UIView transitionWithView:self.view.superview duration:1
options:UIViewAnimationOptionCurveEaseIn
animations:^ {
popContents.closeButton.frame = CGRectMake(500, 15, 100, 40); }
completion:^(BOOL finished){
[UIView transitionWithView:self.view.superview duration:1
options:UIViewAnimationOptionTransitionCurlDown
animations:^ {
popContents = nil;
[popContents.view removeFromSuperview];
[ovController.view removeFromSuperview];
ovController = nil; }
completion:nil];
}];