更新 :(我重新编写了我的函数,因此所有的动画都不像以前那样嵌套。仍然没有运气)
我有一段代码,按此顺序尝试:
订单很重要!
代码如下:
主要功能:
[fileMenuController hide:0.2 andDelay:0.1];
[drawingToolController show:0.2 andDelay:0.2];
[penSizeMenuController showSubViewWithDuration:0.4];
fileMenuController隐藏功能:
[UIView animateWithDuration:duration //begin animation
delay:delay
options:UIViewAnimationCurveEaseIn
animations:^{
[self.view setFrame:CGRectOffset([self.view frame], 0, -self.view.frame.size.height)];
}
completion:nil
];
drawingToolController show function:
[UIView animateWithDuration:duration //begin animation
delay:delay
options:UIViewAnimationCurveEaseIn
animations:^{
[self.view setFrame:CGRectOffset([self.view frame], 0, self.view.frame.size.height)];
}
completion:nil
];
penSizeController show function:
[UIView transitionWithView:self.view
duration:duration
options:UIViewAnimationOptionTransitionCurlDown
animations:^{ [self.view addSubview:subView] ;}
completion:nil];
self.view.alpha = 1;
我的问题是块 penSizeController showSubView 以第一个动画开始( fileMenuController hide )!
前两个动画( fileMenuController hide 和 drawingToolController show )正常工作。当fileMenuController隐藏完成后,drawingToolController启动。
那么,是否有人知道为什么 penSizeController showSubView 块中的部分与第一个动画同时启动?
答案 0 :(得分:0)
我想是因为外部动画块没有任何动画 - 因为hide和show会创建内部动画块 - 所以它会立即调用完成块。
删除hide
和show
中的嵌套动画块,或添加一个禁用这些嵌套动画动作动画的参数。