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]];
}