Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/37.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios UIView中的UISearchBar显示白色边框,但未正确为tintColor和barTintColor应用clearColor_Ios_Iphone_Uisearchbar_Transparent_Bartintcolor - Fatal编程技术网

Ios UIView中的UISearchBar显示白色边框,但未正确为tintColor和barTintColor应用clearColor

Ios UIView中的UISearchBar显示白色边框,但未正确为tintColor和barTintColor应用clearColor,ios,iphone,uisearchbar,transparent,bartintcolor,Ios,Iphone,Uisearchbar,Transparent,Bartintcolor,我有一个UITableView和一个UISearchBar嵌入在UIView中。searchBar位于顶部,我正在尝试实现一些看起来非常直接的东西;我试图使ui搜索栏透明,并采用背景颜色 下面是一个示例图像 我尝试了很多事情都没有成功 我将barTint和tintColor设置为清除: self.nameAddSearchBar.barTintColor = [UIColor clearColor]; self.nameAddSearchBar.tintColor = [UIColor cl

我有一个
UITableView
和一个
UISearchBar
嵌入在
UIView
中。
searchBar
位于顶部,我正在尝试实现一些看起来非常直接的东西;我试图使
ui搜索栏
透明,并采用背景颜色

下面是一个示例图像

我尝试了很多事情都没有成功

我将barTint和tintColor设置为清除:

self.nameAddSearchBar.barTintColor = [UIColor clearColor]; 
self.nameAddSearchBar.tintColor = [UIColor clearColor]; 
我已尝试设置barMetrics:

[self.nameAddSearchBar setBackgroundImage:[UIImage imageNamed:@"Transparent.png"] forBarPosition:0 barMetrics:UIBarMetricsDefault];
我试过了

self.nameAddSearchBar.backgroundImage = [UIImage imageNamed:@"Transparent.png"]; 
但这些都不起作用。我可以添加我拥有的特定导航栏图像:

self.nameAddSearchBar.backgroundImage = [UIImage imageNamed:@"GreenNav.png"]; 
这很好地工作,但它看起来很奇怪,因为图像中出现了中断。因此,我只希望这个UISearchBar是一个清晰的颜色,这样背景色就可以通过它工作

UISearchBar是在情节提要中创建的,我已启用“半透明”。我有酒吧色彩,背景和色彩设置为清晰的颜色,但在所有情况下,它总是与白色边框的图像

如果您能就此提供指导,我们将不胜感激

试着这样,

    self.searchBar.backgroundColor = [UIColor clearColor];
    self.searchBar.searchBarStyle = UIBarStyleBlackTranslucent;
    self.searchBar.placeholder = @"Search...";
    self.searchBar.layer.cornerRadius = 15;
    self.searchBar.layer.backgroundColor = [UIColor clearColor].CGColor;
    self.searchBar.layer.borderWidth=8;
   [[NSClassFromString(@"UISearchBarTextField") appearanceWhenContainedIn:[UISearchBar class], nil] setBorderStyle:UITextBorderStyleNone];
   self.searchBar.layer.borderColor=[UIColor clearColor].CGColor;
检查一下

    self.navigationController.navigationBar.translucent = NO; // If you have a navBar
    self.searchDisplayController.searchBar.translucent = NO;
希望这对你有用。

我希望这对你有帮助

self.searchBar.searchBarStyle = UISearchBarStyleMinimal;


我为Swift 3打包了一个非常简单和漂亮的扩展,它将UISearchBar扩展为半透明。它涉及到使用两个非常简单的扩展


你可以从这里下载。

谢谢@Sunny-这是一个很好的答案,但不幸的是,它没有工作,并导致相同的白色边框。在我的情况下,它工作正常,并提供了带有清晰背景的搜索栏谢谢Sunny-你有该栏的半透明设置吗?还有,这是什么类型的酒吧?默认、突出、简单?UISerachBar样式uibarstyleblacktransparent和Simple search barThanks@aBilal17-不幸的是,我在这里没有使用UISearchDisplayController,将搜索栏设置为半透明会使其变为黑色而不是透明。。
self.searchBar.searchBarStyle = UISearchBarStyleMinimal;
[searchBar setBackgroundImage:[UIImage new]];
[searchBar setTranslucent:YES];