2016-10-04 8 views
2

UISearchBarのボトムボーダーカラーを指定したいと思います。私は、境界線を取り除くのに役立つ多くの答えを見たり、境界線の色を全体として設定したりしましたが、境界線の境界線の色を設定したいだけです。ここに私のコードは次のとおりです。Swift3でUISearchBarのボーダーボトムを設定する方法

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

ためだけ下の境界をBORDERCOLORを設定する方法はありますか?

+1

のようなあなたのテキストフィールドにサブビューを追加します。それはあなたのためになります。 – 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を使用していますが、このコメントを追加する前に、私がいました私の目的のためにこの機能をテストしたところ、私のためには機能しませんでした。理由はわかりませんが、これは要素の末尾に境界線を表示する正しいコードです。

検索バーの下部に挿入レイアウトを使用してみましたが、機能しません。

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

私はこれが答えですあなたを教えてくれません。しかしこれは、特定の項目の一番下にレイアウトを追加する方法をあなたに知らせるでしょう。

1

ちょうどあなたがあなたのUISearchBarのサブビューとして高さを1ptのビューを追加することができ、この

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) 
関連する問題