2017-09-13 2 views
0

탐색 모음에있는 모든 시스템 단추의 색조를 설정할 수 있도록 탐색 모음의 배경색과 탐색 색조를 모두 설정하려고합니다. 다음 코드를 작성했습니다 :Objective C에서 탐색 모음 텍스트 색이나 색조 색을 변경할 수 없음

NSArray *ver = [[UIDevice currentDevice].systemVersion componentsSeparatedByString:@"."]; 
if ([[ver objectAtIndex:0] intValue] >= 7) { 
    // iOS 7.0 or later 
    self.navigationController.navigationBar.barTintColor = [UIColor orangeColor]; 
    self.navigationController.navigationBar.translucent = NO; 
}else { 
    // iOS 6.1 or earlier 
    self.navigationController.navigationBar.tintColor = [UIColor orangeColor]; 
} 
[[UINavigationBar appearance] setTintColor:[UIColor whiteColor]]; 
[[UINavigationBar appearance] setBarTintColor:[UIColor orangeColor]]; 

이 코드는 탐색 모음의 배경색 만 변경하고 단추의 색조는 변경하지 않습니다. 버튼이 기본 파란색으로 표시됩니다. 그러나 다른 화면으로 이동하는 동안 버튼 색상이 위의 코드에서 설정 한 색상으로 바뀌지 만 항상 발생하는 것은 아닙니다.

답변

0

이 반드시 작동, AppDelegate에

에 전화를합니다
[[UIBarButtonItem appearanceWhenContainedIn:[UINavigationBar class], nil] setTintColor:[UIColor whiteColor]]; 
+0

덕분에 @tekgy. 귀하의 답변이 내 문제를 부분적으로 해결했습니다. 뒤로 버튼 이외의 모든 버튼 색상은 제안한 코드로 변경되었습니다. 뒤로 버튼은 여전히 ​​같은 문제가 있습니다. 탐색 중에 색상이 바뀌고 항상 다른 버튼과 다를 수 있습니다. –

관련 문제