UINavigationBar
배경 이미지 를 변경하는 방법을 알고 있습니다.
[[UINavigationBar appearance] setBackgroundImage:[UIImage imageNamed:@"nabbar"] forBarMetrics:UIBarMetricsDefault];
바를 각각 다른 색상으로 설정하는 방법을 알고 있습니다 Views
. ….. 이제 이미지 를 사용하지 않고 배경색을 app delegate
. 각 뷰에서 매번 설정하고 싶지 않으며 CGRect
.
시도 [[UINavigationBar appearance] setBackgroundColor:[UIColor colorWithRed:33/255.0 green:34/255.0 blue:36/255.0 alpha:1.0]];
했지만 작동하지 않으며 앱 대리자에서 작동하는 코드를 찾을 수 없습니다.
누구든지 올바른 방향으로 나를 가리킬 수 있습니까?
답변
당신이 사용할 수있는 [[UINavigationBar appearance] setTintColor:myColor];
iOS 7부터 [[UINavigationBar appearance] setBarTintColor:myColor];
및 [[UINavigationBar appearance] setTranslucent:NO]
.
[[UINavigationBar appearance] setBarTintColor:myColor];
[[UINavigationBar appearance] setTranslucent:NO];
답변
색조가 아닌 배경색을 변경하려면 다음 코드가 작동합니다.
[self.navigationController.navigationBar setBarTintColor:[UIColor greenColor]];
[self.navigationController.navigationBar setTranslucent:NO];
답변
iOS 7에서이 작업을 수행합니다.
[[UINavigationBar appearance] setBarTintColor:myColor];
답변
신속한 구문 :
UINavigationBar.appearance().barTintColor = UIColor.whiteColor() //changes the Bar Tint Color
AppDelegate didFinishLaunchingWithOptions에 넣었고 앱 전체에서 지속됩니다.
답변
스위프트 :
self.navigationController?.navigationBar.barTintColor = UIColor.red
self.navigationController?.navigationBar.isTranslucent = false
답변
Xcode 6.3.1로 쉽게 할 수 있습니다. 문서 개요에서 NavigationBar를 선택합니다. Attributes Inspector를 선택합니다. 반투명을 선택 취소합니다. Bar Tint를 원하는 색상으로 설정합니다. 끝난!
답변
다른 답변에서 언급했듯이을 사용할 수 setTintColor:
있지만 단색을 원하며 색조 색상 AFAIK를 설정할 수 없습니다.
해결책은 프로그래밍 방식으로 이미지를 만들고 .NET을 통해 모든 탐색 모음의 배경 이미지로 해당 이미지를 설정하는 것 UIAppearance
입니다. 이미지 크기에 관해서는 1×1 픽셀 이미지가 작동하는지 또는 정확한 크기의 내비게이션 막대가 필요한지 잘 모르겠습니다. 이 질문 의 두 번째 답변 에서 이미지를 만드는 방법을 확인하세요.
조언으로, 나는 이러한 유형의 것들로 앱 델리게이트를 “오버로드”하고 싶지 않습니다. 내가하는 경향이있는 것은 내가 원하는 모든 UIAppearance 항목을 설정하는 AppearanceConfiguration
하나의 공용 메서드 configureAppearance
로 명명 된 클래스를 만든 다음 앱 대리자에서 해당 메서드를 호출하는 것입니다.