2016-11-17 3 views
0

내가 아래에이 코드가 작동하지 AppDelegate에에서 매일 UISearchBar을 사용자 정의내 <code>AppDelegate.swift</code>에

func customizeBars() { 
     let bartintColor = UIColor(colorLiteralRed: 20/255, green: 160/255, blue: 160/255, alpha: 1) 
     UISearchBar.appearance().tintColor = bartintColor 
     window!.tintColor = UIColor(red: 10/255, green: 80/255, blue: 80/255, alpha: 1) 
} 

을 내 didFinishLaunchingWithOptions 방법이 함수 (customizeBars())로 전화 :

func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool { 
     customizeBars() 
     return true 
} 

나는이가 차이가 나는 경우 UISearchBArDelegate에서 :

func position(for bar: UIBarPositioning) -> UIBarPosition { 
    return UIBarPosition.topAttached 
} 

하지만 내 앱을 실행할 때 어떤 이유로 tintColor이 내 앱에있는 UISearchBars이나 내 window 색조가 변경되지 않습니다. 내가 잘못하고있는 것이 있습니까?

enter image description here

+0

텍스트 필드 색상, 취소 버튼 및 검색 아이콘 색상의 색상 만 변경 하시겠습니까? –

+0

@Saleh 그래, 내 질문에 위의 그림에서 회색 부분과 같은 UISearchBar를 둘러싼 텍스트 필드 색, 취소 단추, 검색 아이콘 색 및 부분 만 변경하고 싶습니다. 그림에서 알 수 있듯이 변경된 것은 커서의 색뿐이었습니다. – CapturedTree

+0

초기화시 색상을 변경하는 UISearchBar의 확장을 만들 수 있어야합니다. –

답변

0

당신은 코드의 라인 아래에이를 사용하여 검색 창 색상을 변경할 수 있습니다 -

UISearchBar.appearance().barTintColor = UIColor.red // Change the color here

그러나 나는 것을 색조 색상 보았다 (을위한 버튼, 검색 아이콘을 취소 및 텍스트 색상)은 iOS 10, swift 3에서 작동하지 않습니다. 예전에는 이전 버전에서 작동 했었습니다. 검색 막대의 색조 색상을 변경할 항목을 찾을 수 있는지 알려주겠습니다.

+0

'UISearchBar.appearance()'에'barTintColor' 속성이 없습니다. 나는'tintColor' 만 봅니다. 또한 내가 할 때 실제로'UISearchBar'가있는 회색 부분 뒤에 숨겨져 있다는 점을 제외하면 색이 바뀌는 것을 발견했습니다. UISearchBar의 배경보기를 제거해야합니까? – CapturedTree

+0

barTintColor는 막대 색상을 변경하는 UISearchbar의 속성이며 동일한 문제가 발생합니다. UIsearchbar 제안 상자에는 표시되지 않습니다. 하지만 UISearchbar 클래스를 열면 해당 함수를 사용할 수 있습니다. UISearchbar의 배경보기를 제거 할 수 있습니다. –

+0

각 검색 창에 대해 수동으로 요소의 색상을 변경해야하는 것처럼 보입니다. appearance() 함수를 사용하여 모두 변경하지 않아도됩니다. 이것은 사과의 버그 여야합니다. –