0

UISearchbarのフレーム変更をアニメーション化したいと思います。検索ボタンをタップすると、展開したり折りたたんだりしたいのですが。

UIViewAnimationBlockアニメーションに使用しています

[UIView animateWithDuration:0.5
                              delay:0
                            options:UIViewAnimationOptionLayoutSubviews
                         animations:^{
                             //Set the frame you want to the search bar
                         }
                         completion:^(BOOL finished) {

                         }];

フレームをゼロから拡大して折りたたむ必要があります。ただし、アニメーションを実行している間、検索バーは丸みを帯びたエッジを失い、長方形になります。これはまだアニメート中の​​スクリーンショットですここに画像の説明を入力してください

見た目が良くないです。拡大したり折りたたんだりしながら、丸みを帯びたエッジを維持したいと思います。出来ますか ?はいの場合、どのように?

どんな助けでも大歓迎です。

4

1 に答える 1

2

高さ 44px のフレームを設定してみて、UISearchBar の高さを変更することはできません。

高さを変更したい場合は、CGAffineTransformMakeScale のように使用します。

//FOR EXPAND USE THIS:

[UIView animateWithDuration:0.5
                              delay:0
                            options:UIViewAnimationOptionLayoutSubviews
                         animations:^{
                             self.searchBar.transform = CGAffineTransformMakeScale(1.0, 1.0);
                         }
                         completion:^(BOOL finished) {

                         }];

//これを展開する場合:

[UIView animateWithDuration:0.5
                              delay:0
                            options:UIViewAnimationOptionLayoutSubviews
                         animations:^{
                             self.searchBar.transform = CGAffineTransformMakeScale(0.001, 0.001);
                         }
                         completion:^(BOOL finished) {

                         }];
于 2013-03-15T11:00:07.433 に答える