2012-05-29 2 views
0

строка поиска анимированные, используя следующий код:Анимация лаг при первом запуске

- (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]; 

} 
} 

Это работает отлично, за исключением лаг при первом запуске анимации. Есть все равно, чтобы исправить это? Любая помощь будет оценена :)

Edit 1

он leftBarButton подключен к toggleSearchBar: действию. Приложение загружено. Первая анимация - это первый раз, когда щелкнул левой кнопкой мыши.

+0

Когда вы вызываете анимацию в первый раз? Много ли происходит? Загружается ли приложение? – EmilioPelaez

+0

@EmilioPelaez LeftBarButton подключен к действию toggleSearchBar. Приложение загружено. Первая анимация - это первый раз, когда щелкнул левой кнопкой мыши. –

ответ

0

Почему бы вам не показать экран при загрузке контроллера вида ... он немного взломан, но он должен сделать трюк.