2016-10-04 9 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) 아래의 빠른 버전을 사용하는 경우, 다음 코드에서는이 작업을해야합니다 - 나는 빠른 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

을,하지만 난이었다이 댓글을 추가하기 전에 내 마지막에이 기능을 테스트하고 나에게 도움이되지 못했습니다. 이유는 모르겠지만이 요소는 요소의 맨 아래에 테두리를 표시하는 올바른 코드입니다.

검색 창 아래쪽에 삽입 레이아웃을 사용해 보았지만 작동하지 않습니다.

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

당신이 말하지 않을 것이다 대답이다. 하지만 이렇게하면 특정 항목의 맨 아래에 레이아웃을 추가하는 방법을 알 수 있습니다.

1

그냥 같이 당신에 textField에 하위 뷰를 추가하기에 1pt 당신 UISearchBar의 하위 뷰를 같은 높이의 뷰를 추가 할 수 있습니다

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)