iOS 7에서 내비게이션 바 색상을 변경하는 방법
iOS 7에서 내비게이션 바의 색상을 변경하는 방법은 무엇입니까?
Bar (Twitter Nav Bar (Twitter Nav Bar)의 Twitter Nav Bar (Twitter Nav Bar의 )와 .iOS7
네비게이션 의 맨 위에 삽입했습니다.view controller
제가 원하는 것은 상단에 있는 유틸리티 바에 따라 네비게이션 바의 색상을 밝은 파란색으로 변경하는 것입니다.내 생각에는 내 선택지를 찾을 수 없을 것 같아storyboard
.
의 tintColor
7에서는 바의경우 .더 이상 바의 배경에는 영향을 주지 않습니다.
매뉴얼에서 다음 항목을 참조하십시오.
바틴트 컬러 클래스 레퍼런스
탐색 모음 배경에 적용할 색입니다.
@property(nonatomic, retain) UIColor *barTintColor
★★
을 "반투명"으로 하지 않는 한 하게 되어 .NO
.
유용성
iOS 7.0 이상에서 사용할 수 있습니다.
코드
NSArray *ver = [[UIDevice currentDevice].systemVersion componentsSeparatedByString:@"."];
if ([[ver objectAtIndex:0] intValue] >= 7) {
// iOS 7.0 or later
self.navigationController.navigationBar.barTintColor = [UIColor redColor];
self.navigationController.navigationBar.translucent = NO;
}else {
// iOS 6.1 or earlier
self.navigationController.navigationBar.tintColor = [UIColor redColor];
}
또한 iOS 7 UI 전환 가이드에 나와 있는 iOS 버전을 확인할 수도 있습니다.
if (floor(NSFoundationVersionNumber) <= NSFoundationVersionNumber_iOS_6_1) {
// iOS 6.1 or earlier
self.navigationController.navigationBar.tintColor = [UIColor redColor];
} else {
// iOS 7.0 or later
self.navigationController.navigationBar.barTintColor = [UIColor redColor];
self.navigationController.navigationBar.translucent = NO;
}
xib를 사용한 편집
원래의 질문에 따라, 낡은 Twitter의 Nav Bar 룩, 파란색 배경, 흰색 텍스트가 표시되도록 하는 것은, Xcode의 Interface Builder 를 사용하는 것만으로 간단하게 실시할 수 있습니다.
- 문서 개요를 사용하여 탐색 모음을 선택합니다.
- Attributes Inspector의 탐색 막대 그룹에서 스타일을 Default에서 Black으로 변경합니다.그러면 탐색 및 상태 표시줄의 배경색이 검은색으로, 텍스트가 흰색으로 변경됩니다.따라서 앱이 실행 중일 때 상태 표시줄의 배터리 및 기타 아이콘과 텍스트는 흰색으로 표시됩니다.
- 같은 네비게이션 바 그룹에서 바 틴트를 원하는 색으로 변경합니다.
- 탐색 모음에 막대 버튼 항목이 있는 경우에도 기본 파란색으로 텍스트가 표시되므로 특성 검사기, 보기 그룹에서 색조를 흰색으로 변경합니다.
그러면 원하는 걸 얻을 수 있을 거야다음은 변경 위치를 보다 쉽게 확인할 수 있는 스크린샷입니다.
바 틴트만 변경해도 탐색 모음 또는 상태 표시줄의 텍스트 색상은 변경되지 않습니다.스타일도 변경해야 합니다.
self.navigationBar.barTintColor = [UIColor blueColor];
self.navigationBar.tintColor = [UIColor whiteColor];
self.navigationBar.translucent = NO;
// *barTintColor* sets the background color
// *tintColor* sets the button's color
내비게이션 기반 앱에서 AppDelegate에 코드를 넣을 수 있습니다.보다 상세한 코드는 다음과 같습니다.
// Navigation bar appearance (background and title)
[[UINavigationBar appearance] setTitleTextAttributes:[NSDictionary dictionaryWithObjectsAndKeys:[UIColor titleColor], NSForegroundColorAttributeName, [UIFont fontWithName:@"FontNAme" size:titleSize], NSFontAttributeName, nil]];
[[UINavigationBar appearance] setTintColor:[UIColor barColor]];
// Navigation bar buttons appearance
[[UIBarButtonItem appearance] setTitleTextAttributes:[NSDictionary dictionaryWithObjectsAndKeys:[UIColor textBarColor], NSForegroundColorAttributeName, shadowColor, NSShadowAttributeName, [UIFont fontWithName:@"FontName" size:titleSize], NSFontAttributeName, nil];
»viewDidLoad
: , 정::
self.navigationController.navigationBar.barTintColor = [UIColor blueColor];
★★★★★★★★★★★★★★★★」blueColor
을 사용법
탐색 막대 색상을 빠르게 변경하는 경우:
self.navigationController?.navigationBar.barTintColor = UIColor.red
제목 글꼴, 크기, 색상 변경:
self.title = "title"
self.navigationController?.navigationBar.titleTextAttributes = [
NSAttributedString.Key.foregroundColor : UIColor.white,
NSAttributedString.Key.font : UIFont(name: "Futura", size: 30)!
]
iOS 7에서는 -barTintColor 속성을 사용해야 합니다.
navController.navigationBar.barTintColor = [UIColor barColor];
16진수 코드를 사용하는 경우 가장 좋은 방법이 다음과 같습니다.
우선, 클래스 톱에서 다음을 정의합니다.
#define UIColorFromRGB(rgbValue) [UIColor colorWithRed:((float)((rgbValue & 0xFF0000) >> 16))/255.0 green:((float)((rgbValue & 0xFF00) >> 8))/255.0 blue:((float)(rgbValue & 0xFF))/255.0 alpha:1.0]
그런 다음 "application did Finish Launching With Options"에 다음과 같이 입력합니다.
[[UINavigationBar appearance] setBarTintColor:UIColorFromRGB(0x00b0f0)];
00b0f0 대신 16진수 코드를 입력합니다.
ios6 및 ios7을 지원해야 하는 경우 UIViewController에서 다음 명령을 사용하여 특정 하늘색을 얻을 수 있습니다.
- (void)viewDidLoad {
[super viewDidLoad];
NSArray *ver = [[UIDevice currentDevice].systemVersion componentsSeparatedByString:@"."];
if ([[ver objectAtIndex:0] intValue] >= 7) {
self.navigationController.navigationBar.barTintColor = [UIColor colorWithRed:89/255.0f green:174/255.0f blue:235/255.0f alpha:1.0f];
self.navigationController.navigationBar.translucent = NO;
}else{
self.navigationController.navigationBar.tintColor = [UIColor colorWithRed:89/255.0f green:174/255.0f blue:235/255.0f alpha:1.0f];
}
}
실제로 여기서 본 답변보다 더 쉽습니다.
1) Just make sure you select the navigation bar on the Navigation control.
2) Select the color you want in the bar tint.
3) You have other options too, and/or individually on each view (just play with it).
이게 도움이 됐으면 좋겠어요.나는 내가 본 답이 마음에 들지 않았다.나는 가능한 한 코드를 깨끗하게 유지하고 싶다.프로그래밍 방식으로 하는 것이 나쁘다고 말하는 것이 아니라, 나 같은 사람들이 밖에 있어.이건 너희들을 위한거야
//You could place this code into viewDidLoad
- (void)viewDidLoad
{
[super viewDidLoad];
self.navigationController.navigationBar.tintColor = [UIColor redColor];
//change the nav bar colour
self.navigationController.view.backgroundColor = [UIColor redColor];
//change the background colour
self.navigationController.navigationBar.translucent = NO;
}
//Or you can place it into viewDidAppear
- (void)viewDidAppear:(BOOL)animated
{
[super viewDidAppear:(BOOL)animated];
self.navigationController.navigationBar.tintColor = [UIColor redColor];
//change the nav bar colour
self.navigationController.view.backgroundColor = [UIColor redColor];
//change the background colour
self.navigationController.navigationBar.translucent = NO;
}
기본 동작이 iOS 6에서7로 변경되었기 때문에 Rajneesh071의 코드를 완성하기 위해 탐색 모음의 제목 색상(및 원하는 경우 글꼴)을 설정할 수도 있습니다.
NSArray *ver = [[UIDevice currentDevice].systemVersion componentsSeparatedByString:@"."];
if ([[ver objectAtIndex:0] intValue] >= 7)
{
self.navigationController.navigationBar.barTintColor = [UIColor blackColor];
self.navigationController.navigationBar.translucent = NO;
NSMutableDictionary *textAttributes = [[NSMutableDictionary alloc] initWithDictionary:mainNavController.navigationBar.titleTextAttributes];
[textAttributes setValue:[UIColor whiteColor] forKey:UITextAttributeTextColor];
self.navigationController.navigationBar.titleTextAttributes = textAttributes;
}
else
{
self.navigationController.navigationBar.tintColor = [UIColor blackColor];
}
[ Add only ]이 코드만 추가ViewContorller
또는 사용자의AppDelegate
if([[[UIDevice currentDevice] systemVersion] floatValue] < 7.0)
{
//This is For iOS6
[self.navigationController.navigationBar setTintColor:[UIColor yellowColor]];
}
else
{
//This is For iOS7
[self.navigationController.navigationBar setBarTintColor:[UIColor yellowColor]];
}
네비게이션 기반 응용 프로그램에서는 색상을 변경할 수 있습니다.
NSArray *ver = [[UIDevice currentDevice].systemVersion componentsSeparatedByString:@"."];
if ([[ver objectAtIndex:0] intValue] >= 7) {
self.navigationController.navigationBar.barTintColor = [UIColor colorWithRed:19.0/255.0 green:86.0/255.0 blue:138.0/255.0 alpha:1];
self.navigationController.navigationBar.translucent = NO;
} else {
self.navigationController.navigationBar.tintColor = [UIColor colorWithRed:19.0/255.0 green:86.0/255.0 blue:138.0/255.0 alpha:1];
}
#define _kisiOS7 ([[[UIDevice currentDevice] systemVersion] floatValue] >= 7.0)
if (_kisiOS7)
{
[[UINavigationBar appearance] setBarTintColor:[UIcolor redcolor]];
}
else
{
[[UINavigationBar appearance] setBackgroundColor:[UIcolor blackcolor]];
[[UINavigationBar appearance] setTintColor:[UIcolor graycolor]];
}
이 질문과 답변이 도움이 됩니다.그것들을 통해 나는 내가 원하는 진한 파란색을 설정할 수 있었다.navigationBar
흰색 제목과 버튼 텍스트로 색칠합니다.
하지만 시계, 반송파, 신호 강도 등을 흰색으로 변경해야 했습니다.검은색과 짙은 파란색은 대조를 이루지 못했다.
이전 답변 중 하나에서 그 솔루션을 간과했을 수도 있지만, 이 행을 제 최상위 레벨에 추가하여 변경할 수 있었습니다.viewController
의viewDidLoad
:
[self.navigationController.navigationBar setBarStyle:UIStatusBarStyleLightContent];
- (void)viewDidLoad
{
[super viewDidLoad];
self.navigationController.navigationBar.barTintColor = [UIColor blueColor];
}
색상:
[[UINavigationBar appearance] setBarTintColor:[UIColor blackColor]];
이미지용
[[UINavigationBar appearance] setBackgroundImage:[UIImage imageNamed:@"navigationBar_320X44.png"] forBarMetrics:UIBarMetricsDefault];
언급URL : https://stackoverflow.com/questions/18929864/how-to-change-navigation-bar-color-in-ios-7
'code' 카테고리의 다른 글
조건부 고유 제약 (0) | 2023.04.23 |
---|---|
iOS에서 Objective-C의 유형 (0) | 2023.04.23 |
텍스트 파일 끝에 출력을 추가하는 방법 (0) | 2023.04.23 |
iPhone Core Data Unresolved 오류 저장 중 (0) | 2023.04.18 |
같은 컴퓨터에 여러 개의 GitHub 계정이 있습니까? (0) | 2023.04.18 |