뒤로 버튼 화살표를 변경하려고합니다.
현재 다음을 사용하여 텍스트 크기와 뒤로 버튼의 텍스트 색상을 제어하고 있습니다.
[[UIBarButtonItem appearance] setTitleTextAttributes:
[NSDictionary dictionaryWithObjectsAndKeys:
[UIColor whiteColor], UITextAttributeTextColor,
[UIFont boldSystemFontOfSize:16.0f], UITextAttributeFont,
[UIColor darkGrayColor], UITextAttributeTextShadowColor,
[NSValue valueWithCGSize:CGSizeMake(0.0, -1.0)], UITextAttributeTextShadowOffset,
nil] forState:UIControlStateNormal];
그러나 뒤로 버튼의 화살표 색상 만 변경하려면 어떻게해야합니까?
답변
특정 네비게이션 컨트롤러의 뒤로 버튼 셰브론 색상을 변경하려면 * :
self.navigationController.navigationBar.tintColor = [UIColor whiteColor];
* 내비게이션 컨트롤러가 2 개 이상인 앱을 사용하는 경우이 갈매기 색을 각각에 적용하려면 모양 프록시를 사용하여 다음과 같이 모든 네비게이션 컨트롤러에 대해 뒤로 버튼 갈매기 모양을 설정하십시오.
[[UINavigationBar appearance] setTintColor:[UIColor whiteColor]];
그리고 좋은 측정을 위해 신속하게 (댓글에서 Jay Mayu에게 감사드립니다) :
UINavigationBar.appearance().tintColor = UIColor.whiteColor()
답변
전체 앱의 tintColor를 설정해야합니다.
self.window.tintColor = [UIColor redColor];
또는 스위프트 3에서 :
self.window?.tintColor = UIColor.blue
출처 : iOS 7 UI 전환 안내서
답변
이 방법을 사용하여 전체 앱 탐색 막대에서 색상을 설정할 수 있습니다
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:
(NSDictionary *)launchOptions{
[[UINavigationBar appearance] setTintColor:[UIColor whiteColor]];
}
답변
이 방법으로 화살표의 색 (뒤로 단추 제목의 색이 아닌) 만 변경할 수 있습니다.
[[self.navigationController.navigationBar.subviews lastObject] setTintColor:[UIColor blackColor]];
탐색 줄에는 화살표를 나타내는 _UINavigationBarBackIndicatorView 유형 (하위보기 배열의 마지막 항목)의 하위보기가 포함됩니다.
답변
답변
navigationController를 초기화하는 rootViewController 내부에서이 코드를 viewDidAppear 메소드에 넣습니다.
//set back button color
[[UIBarButtonItem appearanceWhenContainedIn:[UINavigationBar class], nil] setTitleTextAttributes:[NSDictionary dictionaryWithObjectsAndKeys:[UIColor whiteColor], UITextAttributeTextColor,nil] forState:UIControlStateNormal];
//set back button arrow color
[self.navigationController.navigationBar setTintColor:[UIColor whiteColor]];
답변
iOS 6에서 tintColor는 탐색 막대, 탭 막대, 도구 모음, 검색 막대 및 범위 막대의 배경을 채색했습니다. iOS 7에서 막대 배경을 색조하려면 barTintColor 속성을 대신 사용하십시오.