如何在Swift3中设置UISearchBar的边框底部

问题描述:

我想指定UISearchBar的底部边框颜色。我已经看到了很多答案,可以帮助摆脱边框,或者将边框颜色设置为整体,但我只是想为底部边框设置边框颜色。这里是我的代码:如何在Swift3中设置UISearchBar的边框底部

searchController.searchBar.layer.borderWidth = 1 searchController.searchBar.layer.borderColor = UIColor.white.cgColor

有没有一种方法来设置只是底部边框边框颜色?

+1

您可以添加高度的视图1点为您的UISearchBar的子视图。那会为你做。 – Adeel

+0

这是为我工作的!谢谢@AdeelMiraj – Rebecca

+0

不客气。乐于帮助 :)。我用代码回答了这个问题以供参考。 – Adeel

如果使用低于3(< 3.0)迅速版本,那么这下面的代码应该工作 -

let border = CALayer() 
 
let width = CGFloat(2.0) 
 
border.borderColor = UIColor.red.cgColor 
 
border.frame = CGRect(x: 0, y: searchBar.frame.size.height + width, width: searchBar.frame.size.width, height: searchBar.frame.size.height) 
 
     
 
border.borderWidth = width 
 
searchBar.layer.addSublayer(border) 
 
searchBar.layer.masksToBounds = true

我使用SWIFT 3.0,但添加此评论,我是前在我的最后测试这个功能,它不适合我。我不知道为什么,但这是在任何元素的底部显示边框的正确代码。

我尝试在搜索栏的底部使用insertionlayout,但它不工作。

self.view.layer.insertSublayer(border, below:searchBar.layer)

我不会告诉你这是一个答案。但是这会让你知道如何在特定项目的底部添加布局。

只是一个子视图添加到您的文本字段这样

let frame = CGRectMake(0, textField.frame.size.height - 1, textField.frame.size.width, 1) 
let border = UIView(frame: frame) 
border.backgroundColor = UIColor.whiteColor() 
textField.addSubview(border)