2016-10-04 21 views
2

我想指定UISearchBar的底部邊框顏色。我已經看到了很多答案,可以幫助擺脫邊框,或者將邊框顏色設置爲整體,但我只是想爲底部邊框設置邊框顏色。這裏是我的代碼:如何在Swift3中設置UISearchBar的邊框底部

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

有沒有一種方法來設置只是底部邊框邊框顏色?

+1

您可以添加高度的視圖1點爲您的UISearchBar的子視圖。那會爲你做。 – Adeel

+0

這是爲我工作的!謝謝@AdeelMiraj – Rebecca

+0

不客氣。樂於幫助 :)。我用代碼回答了這個問題以供參考。 – Adeel

回答

1

如果使用低於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)

我不會告訴你這是一個答案。但是這會讓你知道如何在特定項目的底部添加布局。

1

只是一個子視圖添加到您的文本字段這樣

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) 
相關問題