【发布时间】:2012-09-26 05:55:09
【问题描述】:
搜索栏使用以下代码进行动画处理:
- (IBAction)toggleSearchBar:(UIBarButtonItem *)sender{
CATransition *applicationLoadViewIn = [CATransition animation];
[applicationLoadViewIn setDuration:0.2];
[applicationLoadViewIn setType:kCATransitionPush];
[applicationLoadViewIn setTimingFunction:[CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseIn]];
if (self.searchBar.hidden) {
self.searchBar.hidden = NO;
[self.searchBar becomeFirstResponder];
[applicationLoadViewIn setSubtype:kCATransitionFromBottom];
[[searchBar layer] addAnimation:applicationLoadViewIn forKey:kCATransitionPush];
}else{
self.searchBar.hidden = YES;
[self.searchBar resignFirstResponder];
[applicationLoadViewIn setSubtype:kCATransitionFromTop];
[[searchBar layer] addAnimation:applicationLoadViewIn forKey:kCATransitionPush];
}
}
除了第一次运行动画时的延迟之外,它工作正常。有没有办法修复它?任何帮助将不胜感激:)
编辑 1
leftBarButton 连接到toggleSearchBar: 操作。应用程序已加载。第一个动画是 leftBarButton 的第一次点击。
【问题讨论】:
-
第一次调用动画是什么时候?有很多事情发生吗?应用还在加载吗?
-
@EmilioPelaez leftBarButton 连接到“toggleSearchBar”动作。应用程序已加载。第一个动画是 leftBarButton 第一次点击。