2011-03-19 2 views
0

TabBar에 이미지 (주황색)를 추가했지만 회색으로 표시된 응용 프로그램 이미지를 실행할 때! 어떻게이 문제를 해결할 수 있습니까? 감사합니다.iPhone : TabBar 이미지의 색상?

답변

2

탭 막대 이미지 색상은 변경할 수 없으며 항상 기본 색상이어야합니다. 자세한 내용은 ios의 휴먼 인터페이스 지침을 읽으십시오.

+2

사실,하지만 (예 : 색이 지정된 사용자 지정 탭 표시 줄 아이콘을 사용하는 Game Center 앱과 같이) Apple이 자신의 HIG를 위반 한 빈도를 감안할 때 사람들이 자신의 앱에서이 작업을 수행하지 않아야하는 이유는 없습니다. 오히려 해키 한 솔루션. – lxt

3

색상이 파란색으로 고정됩니다. 당신은 당신의 자신의 사용자 정의 탭 표시 줄 인터페이스를 작성하거나이 같은 서브 클래스 UITabBarController에 탭 표시 줄을 통해 사용자 정의 아이콘을 배치 할 뭔가 함께 해킹을 시도 할 수 있습니다 중 하나

-(void)setActiveCustomOverlay 
{ 
    if (self.activeOverlay) 
    { 
      [self.activeOverlay removeFromSuperview]; 
    } 

    NSString *imagename = [NSString stringWithFormat:@"tab_%d.png", 
                 [self selectedIndex]]; 
    UIImage *img = [UIImage imageNamed:imagename]; 
    self.activeOverlay = [[[UIImageView alloc] initWithImage:img] autorelease]; 
    self.activeOverlay.frame = CGRectMake(2.0f+64.0f*[self selectedIndex],3.0f,60.0f,44.0f); 

    [tabbar addSubview:activeOverlay]; 
    [tabbar bringSubviewToFront:activeOverlay]; 
} 

을 그리고이 수행

    UIView 속성을 추가
  • (유지 세분화는) 호출 setActiveCustomOverlay wheneve
  • IB
  • 에 탭 표시 줄에 tabbar 속성을 추가하고 후크 activeOverlay
  • 라고 탭이 변경됩니다.

이것은 못생긴 해킹이지만 기존 프로젝트에서 구현하기 가장 쉬운 수정입니다. 애플도 그것을 거부하지 않을 것이다.

iPad의 경우 숫자를 미세 조정하고 더 넓은 탭 표시 줄 이미지를 사용해야합니다.