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

}
}

アニメーションの最初の実行でのラグを除いて、正常に動作します。とにかくそれを修正することはありますか?どんな助けでもありがたいです:)

編集1

彼はleftBarButtonがtoggleSearchBar:アクションに接続されています。アプリが読み込まれます。最初のアニメーションは、leftBarButtonが初めてクリックされたときです。

4

1 に答える 1

0

ビューコントローラをロードするときに画面に表示しないのはなぜですか...少しハッキーですが、うまくいくはずです。

于 2012-09-25T21:55:09.010 に答える