1

탭 표시 줄 항목의 글꼴 색을 변경하려고합니다.self.tabBarItem respondsToSelector는 항상 no를 반환합니다.

if ([self.tabBarItem respondsToSelector:@selector(setTitleTextAttributes:)]) { 
    NSLog(@"yes"); 
    [self.tabBarItem setTitleTextAttributes:[NSDictionary dictionaryWithObjectsAndKeys: 
              darkGreen, UITextAttributeTextColor, 
              nil] forState:UIControlStateNormal]; 
} 
else { 
    NSLog(@"no"); 
} 

respondsToSelector 항상 더 리턴하고, 나는 그것을 해결하는 방법에 대한 붙어있어 다음과 같이

change tabbar text color,iPhone

내 코드입니다 :이 게시물에서 코드를 사용하지 않는거야. 이 코드 블록은 viewDidLoad에 있고 클래스는 UITabBarController의 하위 클래스입니다.

아이디어가 있으십니까? 하지 않는 setTitleTextAttributes:

+0

당신이 self.tabBarItem 비 전무가 있음을 확인 했이며, 모든 존재? – bdash

답변

0

이 방법은 그 방법의 올바른 서명 setTitleTextAttributes: forState:

if ([self.tabBarItem respondsToSelector:@selector(setTitleTextAttributes: forState:)]) { 
    NSLog(@"yes"); 
    [self.tabBarItem setTitleTextAttributes:[NSDictionary dictionaryWithObjectsAndKeys: 
              darkGreen, UITextAttributeTextColor, 
              nil] forState:UIControlStateNormal]; 
} 
else { 
    NSLog(@"no"); 
} 
+0

아, 내게 어리 석다. 나는 그것을 간과했다고 믿을 수 없다! 고맙습니다. 그것을 변경하고 예, 반환하지만 텍스트 색을 업데이트하지 않습니다. 여기에서 어디로 가야할지 아시겠습니까? – AUSTOOO

+0

'self.tabBarItem'을'[UITabBarItem appearance] '로 바꾸십시오. –

+0

빠른 응답을 보내 주셔서 감사합니다. 나는 그것을 바꿨고 운이 없었다. 스토리 보드에 뭔가 있을까요? – AUSTOOO