0

bartintcolorUISearchBarを変更し、キャンセルを有効にしました。これは、UIVew のサブビューとして追加されます。検索バーを表示するたびに、その下に消えることのない黒い線が表示されます。

UISearchbar の外観またはその背景ビューについて何か不足していますか?

    dummyview=[[UIView alloc]initWithFrame:CGRectMake(10, 30,self.headerView.frame.size.width-20, 30)];
    [dummyview setBackgroundColor:[UIColor redColor]];
    [dummyview setClipsToBounds:TRUE];
    self.searchBar = [[UISearchBar alloc] initWithFrame:CGRectMake(0, 0, dummyview.frame.size.width, dummyview.frame.size.height)];
    self.searchBar.delegate = (id)self;
    [self.searchBar setPlaceholder:@"Search"];

    self.searchBar.showsCancelButton = YES;
    _searchBar.barTintColor = [Utilities colorWithHexString:@"3a7ebc"];
    [[UIBarButtonItem appearanceWhenContainedIn: [UISearchBar class], nil] setTintColor:[UIColor whiteColor]];


    _searchBar.delegate=self;
    [dummyview addSubview:_searchBar];

それは私にこのように与えます

すぐ下の黒い線の色

背景をネイティブのものに変更すると、コンテンツが置き換えられます。 // _searchBar.barTintColor = [Utilities colorWithHexString:@"3a7ebc"];

ここに画像の説明を入力

検索バーの下に黒い線を入れたくないだけです。

更新:使用 _searchBar.searchBarStyle=UISearchBarStyleMinimal; _searchBar.barStyle=UIBarStyleDefault;

この結果ここに画像の説明を入力

最終的にすべてが完了しました

_searchBar.searchBarStyle=UISearchBarStyleMinimal; _searchBar.barStyle=UIBarStyleDefault; UITextField *searchField=[_searchBar valueForKey:@"_searchField"]; if (searchField) { [searchField setTextColor:[UIColor whiteColor]]; }

4

1 に答える 1

0

私のコードをviewdidloadまたはviewwillappearメソッドに入れてください。

searchbar.barTintColor=[UIColor samebgcolor];
searchbar.layer.borderWidth = 1;
searchbar.layer.borderColor = [[UIColor samebgcolor] CGColor];

また、これが最も強力であり、最も確実に役立つことを願っているため、「これが役立つことを願っています」と考えます。

私の回答が気に入ったら、私の回答を受け入れて賛成してください

于 2015-11-17T12:09:18.637 に答える