【iOS】UISearchBar의 배경색 변경
간단하게, 이하와 같이 기술하면 왠지 반영되지 않습니다.
searchBar.backgroundColor = UIColor.yellow
또한 barTintColor를 변경하면 배경 색상이 변경되지만 border는 남아 있습니다.
searchBar.barTintColor = UIColor.yellow
거기서 여러가지 조사해 보았더니, UISearchBar에는 backgroundImage가 설정되어 있다는 것을 알았습니다.
UISearchBarBackground라는 자체 클래스처럼 보입니다.
따라서 이 backgroundImage를 삭제해 보면 무사히 backgroundColor를 커스터마이즈 할 수 있었습니다.
let barImageView = searchBar.value(forKey: "_background") as! UIImageView
barImageView.removeFromSuperview()
searchBar.backgroundColor = UIColor.yellow
똑같이 "value(forKey: )"를 이용하면 TextField의 취득도 할 수 있습니다.
let textField = searchBar.value(forKey: "_searchField") as! UITextField
textField.backgroundColor = UIColor.blue
textField를 얻으면 나중에 textField 설정을 변경하고 사용자 정의 할 수 있습니다.
그건 그렇고,이 키는 디버깅으로 내용을 알 수 있습니다.
Reference
이 문제에 관하여(【iOS】UISearchBar의 배경색 변경), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/nadioo/items/930f3fa6a20555e2666a텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)