2

사용자 지정 탐색 모음으로 작업하고 있습니다. 내 AppDelegate에서 이것을 수행했습니다. viewController 수준에하나의 viewcontroller에서 사용자 지정 탐색 모음이 변경됩니다.

[[UINavigationBar appearance] setBackgroundImage:[UIImage imageNamed:@"navbar"] forBarMetrics:UIBarMetricsDefault]; 
[[UINavigationBar appearance] setTitleTextAttributes: @{ 
          UITextAttributeTextColor: [UIColor whiteColor], 
         UITextAttributeTextShadowColor: [UIColor whiteColor], 
        UITextAttributeTextShadowOffset: [NSValue valueWithUIOffset:UIOffsetMake(0.0f, 1.0f)], 
           UITextAttributeFont: [UIFont fontWithName:@"Carrois Gothic" size:18.0f] 
}]; 

은 내가 navigationController 내부에 버튼을 넣어. 모두 viewControllers에는 navigationbar 안에 단 하나의 버튼이 있습니다.

그러나 하나의 VC에서 나는 2 개의 버튼을 설정해야하고 navigationbarbackgroundImage도 변경해야합니다. 그래서 내가 위의 코드와 동일한 코드를 ViewDidLoad에 복사했는데 이제는 다른 이미지로 복사했습니다. 이것은 작동 중입니다.

하지만 지금은 다른 모든 VC의 첫 번째 navigationbar에서 싶습니다. 그래서 내 viewDidDisappear에서 다른 이미지로 코드를 다시 복사했습니다. 다음

잘못된 것입니다 :

  • 배경 이미지가 변경되지
  • leftbarbutton 멀리 않을 것입니다

는 사람이 좀 도와 줄래?

PS : 저는 tabbarcontroller으로 일하고 있습니다. 그래서 내가 VC의 스위칭 tabbarcontroller의 다른 탭에가는 것을 말한다면

답변

12

ViewController에서 외양 프록시를 사용하지 마십시오. 그냥 배경을 직접 설정하십시오 :

[self.navigationController.navigationBar setBackgroundImage:[UIImage imageNamed:@"navbar"] forBarMetrics:UIBarMetricsDefault]; 
[self.navigationController.navigationBar setTitleTextAttributes: @{ 
         UITextAttributeTextColor: [UIColor whiteColor], 
        UITextAttributeTextShadowColor: [UIColor whiteColor], 
       UITextAttributeTextShadowOffset: [NSValue valueWithUIOffset:UIOffsetMake(0.0f, 1.0f)], 
          UITextAttributeFont: [UIFont fontWithName:@"Carrois Gothic" size:18.0f] 
}]; 
+0

"unexpected @ in program"오류가 발생합니다. 도와 주실 수 있겠습니까? – chandru

+0

@chandru'@ {'또는'@'를 사용 했습니까? – dasdom

+0

그게 내가 묻는거야, 난 그냥 위의 코드를 복사하고 붙여 넣기 – chandru

관련 문제