1

私はshowCancelButtonUISearchBarNOに設定できることを知っています...検索バーのテキストフィールドをタップすると、とにかくキャンセルボタンが表示されます! (少なくとも私にはそうです。)

UISearchBarテキスト フィールド内の円で「X」を表示する方法と、その隣に別の [キャンセル] ボタンを表示する方法はありますか? このボタンは、検索モードがアクティブな場合にのみ表示され、これはshowsCancelButtonの設定に関係なく表示されることに注意してください。

4

4 に答える 4

2

これを試して

- (void)searchBarTextDidBeginEditing:(UISearchBar *)searchBar
{
    // only show the status bar's cancel button while in edit mode
    mySearchBar.showsCancelButton = NO;

}
- (void)searchBarTextDidEndEditing:(UISearchBar *)searchBar
{
    mySearchBar.showsCancelButton = NO;
}

このキャンセル ボタンを使用すると、表示されなくなります。

于 2009-09-28T06:25:15.490 に答える
1
for (UIView *searchBarSubview in [searchBar subviews]) {

    if ([searchBarSubview conformsToProtocol:@protocol(UITextInputTraits)]) {

         [(UITextField *)searchBarSubview setClearsOnBeginEditing:YES];
    }
}

cancelButton を有効にするにはsearchBar.showsCancelButton = YES; 、上記のコード行を試してください。

于 2011-08-17T08:09:42.253 に答える
0

「X」は検索フィールドをクリアすることのみを目的としており、検索をキャンセルすることを目的としていない可能性があります。そのため、showsCancelButtonに関係なく、検索が開始されると、[キャンセル]ボタンをそのままにしておく必要があります。

于 2009-09-27T01:17:35.123 に答える
0

インターフェイスビルダーを使用すると、表示が非常に簡単です。デフォルトでそこにあります。アプリで検索バーを使用しましたが、検索バーテキストフィールドにはテキストフィールドをクリアするための「X」があります

于 2009-09-26T12:33:42.577 に答える