0

ユーザーが UISearchBar にテキストを入力し始めたときにのみキャンセル ボタンが表示されるようにするにはどうすればよいですか?

私はこれを試しました

- (void)searchBarTextDidBeginEditing:(UISearchBar *)aSearchBar {
self.searchBar.showsCancelButton = YES;
}

しかし、それは機能しません。「showsCancelButton」に設定しても問題はないと思います。

NSLog(@"Typing");

画面に出力されません。これを行うことができるXcode 4.3の別の方法はありますか? キャンセルボタンが押されたかどうかもわかる方法はありますか?

4

3 に答える 3

1

あなたのメソッドはブール値「YES」を返していません。これはうまくいくはずです:

// show search bar's cancel button when editing
- (BOOL)searchBarShouldBeginEditing:(UISearchBar *)searchBar {

    searchBar.showsCancelButton = YES;

    return YES;
}
// hide search bar's cancel button when not editing
- (BOOL)searchBarShouldEndEditing:(UISearchBar *)searchBar {

    searchBar.showsCancelButton = NO;

    return YES;
}
于 2012-09-26T16:01:24.923 に答える
1

クラスが のデリゲートであることは確かsearchBarですか? メソッドで設定self.searchBar.delegate=self;してみてください。viewDidLoad

于 2012-03-04T06:39:12.193 に答える
0

これを試して:

- (void)searchBarTextDidBeginEditing:(UISearchBar *)aSearchBar {
  aSearchBar.showsCancelButton = YES;
}
于 2012-05-03T07:34:08.757 に答える