iOS 7 탐색 모음 텍스트 및 화살표 색상
내비게이션 바의 배경을 검은색으로 설정하고 내부의 모든 색상을 흰색으로 설정하고 싶습니다.
그래서 저는 이 코드를 사용했습니다.
[[UINavigationBar appearance] setTitleTextAttributes:
[NSDictionary dictionaryWithObjectsAndKeys:
[UIColor whiteColor],
NSForegroundColorAttributeName,
[UIColor whiteColor],
NSForegroundColorAttributeName,
[NSValue valueWithUIOffset:UIOffsetMake(0, -1)],
NSForegroundColorAttributeName,
[UIFont fontWithName:@"Arial-Bold" size:0.0],
NSFontAttributeName,
nil]];
그러나 뒤로 단추 텍스트 색, 화살표 및 막대 단추에는 여전히 기본 파란색이 있습니다.
아래 이미지와 같이 색상을 변경하는 방법은 무엇입니까?
일부 속성의 동작UINavigationBar
iOS 7에서 변경되었습니다. 아래 이미지에서 확인할 수 있습니다.
여러분과 함께 나누고 싶은 아름다운 두 링크.자세한 내용은 다음 링크를 참조하십시오.
- iOS 7 UI 전환 가이드.
- iOS 7용 앱을 업데이트하는 방법.
barTintColor에 대한 Apple 설명서는 다음과 같이 말합니다.
반투명 속성을 아니요로 설정하지 않으면 이 색상은 기본적으로 반투명하게 됩니다.
샘플 코드:
self.navigationController.navigationBar.barTintColor = [UIColor blackColor];
self.navigationController.navigationBar.tintColor = [UIColor whiteColor];
[self.navigationController.navigationBar
setTitleTextAttributes:@{NSForegroundColorAttributeName : [UIColor whiteColor]}];
self.navigationController.navigationBar.translucent = NO;
이것은 제가 이해하는 데 반나절 정도 걸렸지만, 이것이 저에게 효과가 있었습니다.탐색 컨트롤러를 초기화하는 rootViewController에서 이 코드를 내 viewDidAppear 메서드 안에 넣었습니다.
//set bar color
[self.navigationController.navigationBar setBarTintColor:[UIColor colorWithRed:85.0/255.0 green:143.0/255.0 blue:220.0/255.0 alpha:1.0]];
//optional, i don't want my bar to be translucent
[self.navigationController.navigationBar setTranslucent:NO];
//set title and title color
[self.navigationItem setTitle:@"Title"];
[self.navigationController.navigationBar setTitleTextAttributes:[NSDictionary dictionaryWithObject:[UIColor whiteColor] forKey:UITextAttributeTextColor]];
//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]];
여기에 대한 나의 전체 게시물.
스위프트 3, ios 10
색상을 전역적으로 할당하려면 AppDelegate에서didFinishLaunchingWithOptions
:
let textAttributes = [NSForegroundColorAttributeName:UIColor.white]
UINavigationBar.appearance().titleTextAttributes = textAttributes
스위프트 4, iOS 11
let textAttributes = [NSAttributedStringKey.foregroundColor:UIColor.white]
UINavigationBar.appearance().titleTextAttributes = textAttributes
Vin의 대답은 저에게 아주 잘 어울렸습니다.다음은 Xamarin.i를 사용하는 C# 개발자를 위한 동일한 솔루션입니다.OS/MonoTouch:
var navigationBar = NavigationController.NavigationBar; //or another reference
navigationBar.BarTintColor = UIColor.Blue;
navigationBar.TintColor = UIColor.White;
navigationBar.SetTitleTextAttributes(new UITextAttributes() { TextColor = UIColor.White });
navigationBar.Translucent = false;
스위프트 / iOS8
let textAttributes = NSMutableDictionary(capacity:1)
textAttributes.setObject(UIColor.whiteColor(), forKey: NSForegroundColorAttributeName)
navigationController?.navigationBar.titleTextAttributes = textAttributes
[[UINavigationBar appearance] setTitleTextAttributes:@{NSForegroundColorAttributeName : [UIColor whiteColor]}];
색을 변경하려면UINavigationBar
다음 코드를 사용하여 올바른 방법으로 제목을 지정합니다.
[self.navigationController.navigationBar setTitleTextAttributes:[NSDictionary dictionaryWithObject:[UIColor whiteColor] forKey:UITextAttributeTextColor]];
UITextAttributeTextColor
최신 버전인 7에서는 더 이상 사용되지 않습니다.사용하다NSForegroundColorAttributeName
대신.
제목 텍스트 크기와 텍스트 색상을 변경하려면 NSDictionary 제목을 변경해야 합니다.해당 객체 중 2개에 대한 TextAttributes:
self.navigationController.navigationBar.titleTextAttributes = [NSDictionary dictionaryWithObjectsAndKeys:[UIFont fontWithName:@"Arial" size:13.0],NSFontAttributeName,
[UIColor whiteColor], NSForegroundColorAttributeName,
nil];
저는 이전 답들이 맞다고 생각합니다, 이것은 같은 일을 하는 또 다른 방법입니다.누군가에게 유용하게 쓰일 경우를 대비해 이곳에서 공유하고 있습니다.ios7에서 navbar의 텍스트/제목 색상을 변경할 수 있는 방법은 다음과 같습니다.
UIColor *red = [UIColor colorWithRed:254.0f/255.0f green:0.0f/255.0f blue:0.0f/255.0f alpha:1.0];
NSMutableDictionary *navBarTextAttributes = [NSMutableDictionary dictionaryWithCapacity:1];
[navBarTextAttributes setObject:red forKey:NSForegroundColorAttributeName ];
self.navigationController.navigationBar.titleTextAttributes = navBarTextAttributes;
는 것 같습니다.Accessibility
의 제어 기능iOS Settings
탐색 모음 단추에서 수행하려는 거의 모든 작업을 색상별로 재정의합니다.모든 설정을 기본 위치(증가 대비, 굵게 표시된 텍스트, 단추 모양 등을 꺼짐으로 설정)로 설정했는지 확인하십시오. 그렇지 않으면 변경된 내용이 표시되지 않습니다.일단 제가 그것을 하자, 모든 색상 변경 코드가 예상대로 작동하기 시작했습니다.모두 끌 필요는 없을지도 모르지만, 더 이상 추구하지는 않았습니다.
스위프트 5/iOS 13
컨트롤러에서 제목 색상을 변경하는 방법
UINavigationBar.appearance().titleTextAttributes = [NSAttributedString.Key.foregroundColor: UIColor.white]
언급URL : https://stackoverflow.com/questions/19029833/ios-7-navigation-bar-text-and-arrow-color
'programing' 카테고리의 다른 글
WPF 텍스트 상자에 대한 검증 구현 (0) | 2023.04.28 |
---|---|
Entity Framework를 사용하여 SQL Server 데이터베이스의 변경 내용을 저장하는 동안 하나 이상의 엔티티에 대한 유효성 검사에 실패했습니다. (0) | 2023.04.28 |
스프레드시트::구문 분석 Excel:: 스트림 파서 손실 (0) | 2023.04.28 |
VBA를 사용하여 Excel 워크시트 숨기기 (0) | 2023.04.28 |
종속성 속성을 선택해야 하는 이유 (0) | 2023.04.28 |