2014-10-16 2 views
0

탐색 모음에 이미지를 추가하고 싶습니다. 필자는, 사람이 이런 일이 이유를 설명하십시오, 및 iOS 8 네비게이션 바에서 이미지 뷰를 추가 할 수있는 다른 방법은 무엇인가 할 수는 아이폰 OS 7 작동하는 것 같다하지만 아이폰 OS 8 작동하지 않습니다UINavigationBar 모양 addSubview가 iOS 8에서 작동하지 않습니다.

[[UINavigationBar appearance] addSubview:logoImage]; 

를 사용?

답변

1

호출 [[UINavigationBar appearance]은 수신자 클래스의 모양 프록시를 반환합니다. addSubview: 메서드는 UI_APPEARANCE_SELECTOR 태그가 지정되어 있지 않습니다. UIAppearance의 프록시 방식에 대한 한 가지 단점은 어떤 선택기가 호환되는지를 아는 것이 어렵다는 것입니다.

이 문서에서는 좀 더 잘 설명 : http://nshipster.com/uiappearance/ 그리고 기사의 링크 https://gist.github.com/mattt/5135521는, 당신은 UINavigationBar를 서브 클래스 화해 [[UINavigationController alloc] initWithNavigationBarClass:toolBarClass:]를 호출해야합니다 아이폰 OS 7

UI_APPEARANCE_SELECTOR로 태그하는 방법을 보여줍니다. 첫 번째 매개 변수로 새 탐색 모음 하위 클래스를 전달하고 두 번째 매개 변수로 nil을 사용하여 표준 UIToolbar을 사용합니다. 당신의 서브 클래스에서, 당신이하는 것처럼 이미지를 추가하십시오.

다른 가능성은 내비게이션 컨트롤러의 탐색 바를 가져 와서 하위보기를 추가하는 것입니다 (예 : [self.navigationController.navigationBar addSubview:logoImage]). 이 방법이 효과가있을 수 있지만 고유 한 하위 클래스를 만들면 확실히 유연성이 향상됩니다.

+0

고마워. 나는 빠른 수정이 필요했고'[self.navigationController.navigationBar addSubview : logoImage]'는 완벽하게 작동했기 때문에'UINavigationBar'를 하위 클래스로 만들지 않았습니다. – Bonnie

관련 문제