내 프로젝트를 통해 프로그래밍 방식으로 을 UIBarButtonItems
으로 설정하려고합니다. 나는 전화 해요 :모양 프로토콜을 통해 UIBarButtonItem의 tintColor를 어떻게 설정할 수 있습니까?
[UIBarButtonItem appearance]
그러나, 여기에 애플의 문서보고 후 : 나는 tintColor
을 설정하는 그런 특성을 발견 http://developer.apple.com/library/ios/#documentation/uikit/reference/UIBarButtonItem_Class/Reference/Reference.html
. 내가 찾을 수있는 가장 가까운 관련된 방법이었다 :
setBackgroundImage:forState:barMetrics:
setBackgroundImage:forState:style:barMetrics:
그러나, 이러한 방법 모두 실제 배경 이미지를 설정합니다. UIAppearance
을 통해 버튼의 tintColor
을 간단히 설정할 수 있습니까?
버튼의 다른 스타일이나 상태를 어떻게 타겟팅합니까? 예를 들어 상태가 UIControlStateDisabled 인 버튼과 스타일 : UIBarButtonItemStyleDone은 필요한 스타일을 제공하는 메서드가없는 것처럼 보입니다. 일반적으로 완료된 버튼은 표준 막대 버튼 항목과 다른 색조입니다. –
예, UIAppearance 프로토콜은 유연하지 않습니다. 대부분의 경우 appearanceWhenContainedIn : 메서드를 사용하여 특정 대상 (예 : 특정 컨트롤러 내의 특정 도구 모음)을 색조로 제공 할 수 있지만 버튼 상태에 대해 별도의 스타일이 필요한 경우 , 사용자 정의 이미지 사용을 고수해야합니다. –
iOS 5 및 iOS 6 버전에서는 잘 작동하지만 iOS 7에서는 작동하지 않습니다. iOS 7에서는 예외가 발생합니다 : 'NSInvalidArgumentException' : '-setTintColor : UINavigationButton의 외양 프록시와 함께 사용할 수 없습니다.' –