1

並べ替えの質問: 内の「キャンセル」ボタンのテキストUISearchDisplayControllerを「完了」または「閉じる」に変更する方法はありますか?

根拠:

オプションのリストを UITableView含む があり、各オプションをオンまたはオフにすることができます。

これらのオプションで検索できるようにしたいので、UISearchDisplayController.

ユーザーはアイテムを検索し、検索結果のアイテムに対してアクションを実行します (つまり、特定のアイテムを選択または選択解除します)。

これが完了すると、ユーザーは前の (未検索の) オプションのリストに戻ります。

問題はUISearchDisplayController、「キャンセル」ボタンを押すことだけを閉じる方法だということです。ただし、検索バー内で実行されたアクションは保存されるため、ここでは「キャンセル」という言葉は不適切です。

したがって、「キャンセル」ボタンのテキストを「完了」または「閉じる」に変更する方法はありますか?

4

1 に答える 1

0

これを行う 1 つの方法を見つけました。検索バーのデリゲートで空のアニメーションを作成し、しばらくしてからボタンの内容を変更します。これは、デリゲートが呼び出された直後にキャンセル ボタンがアニメーション化されるためである可能性があります。したがって、それを取得してその前に変更することはできません。

-(void)searchDisplayControllerWillBeginSearch:(UISearchDisplayController*)controller {
[UIView
     animateWithDuration:0.05 animations:^{} completion:^(BOOL finished){

        for (UIView *possibleButton in controller.searchBar.subviews)
        {
            if ([possibleButton isKindOfClass:[UIButton class]])
            {
                UIButton *cancelButton = (UIButton*)possibleButton;

                //TODO:
                // do things with button here...
            }
        }
     }
     ];
}
于 2011-05-02T08:30:51.073 に答える