UISearchBar 黑线/边框

Posted

技术标签:

【中文标题】UISearchBar 黑线/边框【英文标题】:UISearchBar black lines/border 【发布时间】:2015-09-16 16:05:13 【问题描述】:

我在 UISearchBar 上方和下方出现了一些奇怪的黑线,我不太确定如何摆脱它们。将 UISearchBar 的样式设置为最小可以解决该问题,但是它没有我想要的背景颜色。

任何想法是什么导致了这个?我查看了一些类似的问题,但似乎没有一个能满足我的要求。非常感谢!

【问题讨论】:

【参考方案1】:

试试这个:

searchBar.layer.borderWidth = 1;
searchBar.layer.borderColor = [[UIColor blueColor] CGColor];

【讨论】:

太完美了,谢谢!知道我们为什么需要它吗?显式设置borderWidth = 0 的事件不起作用。 我相信这个边框是 Apple 有意为使 UISearchBar 脱颖而出的功能。同时,我们已经获得了根据我们的需要进行调整的方法:)。【参考方案2】:

对于 Swift 3:

searchBar.layer.borderWidth = 1
searchBar.layer.borderColor = searchBar.barTintColor?.cgColor

【讨论】:

【参考方案3】:

通过将空白图像设置为背景将解决问题

self.searchBar.backgroundImage = UIImage()

【讨论】:

这个答案似乎更正确。 UISearchBarBackground 是一个 UIImageView,负责添加这些边框。通过向 searchBar 图层添加边框,线条/边框可能会变得不可见,但它们仍然存在。

以上是关于UISearchBar 黑线/边框的主要内容,如果未能解决你的问题,请参考以下文章

自定义 UISearchBar:试图摆脱搜索栏下方的 1px 黑线

UISearch 栏总是显示:没有结果

UISearchBar 不在 TableView 中查找信息

横向设备时,UISearchBar 不附加导航栏

在 iOS 11 中限制 UISearchBar 的高度

小程序里button边框有黑线解决办法