2011-10-24 2 views
0

사용자 정의 UITabBar를 만들고 모양 프록시에 익숙합니다. 내가 원하는대로 배경 이미지를 설정할 수 있음을 안다. 각 탭의 선택된 상태를 어떻게 바꿀 수 있습니까? 본질적으로 광택/광택 효과를 제거하고 싶습니다.UIKit 모양 사용자 정의 UITabBar 용 프록시

+0

가능한 복제본 [UITabbar에서 광택 효과를 제거하려면 어떻게해야합니까?] (http://stackoverflow.com/questions/7216503/how-can-i-remove-the-glossy-effect-on- uitabbar) –

답변

2

당신은 양자 택일 그냥 사용하는 모든 UITabBarItems을 변경하는 프록시를 사용하여 개별 항목

UITabBar *tabBar = tabBarViewController.tabBar; 

for(UITabBarItem *tabItem in tabBar.items) 
{ 
    //in reality you will probably change these images and grab from the array individually 
    UIImage *selectedImage = [UIImage imageNamed:@"selected.png"]; 
    UIImage *unselectedImage = [UIImage imageNamed:@"unselected.png"]; 

    [tabItem setFinishedSelectedImage:selectedImage withFinishedUnselectedImage:unselectedImage]; 
} 

에 대한 트릭을 할해야 실제 UITabBarItem이 같은

뭔가를 잡아 필요

[UITabBarItem appearance] 
0

이 작업을 수행하려면 모양 프록시를 UIBarItemUITabBarItem으로 사용할 수 있습니다. 애플의 문서에서

:

사용자 정의 모양이

아이폰 OS 5.0에서

이상에서는 항목 레이블 텍스트를 설정하여 탭 바의 모양을 사용자 정의 할 수는 UIBarItem 선언 외관 선택기를 사용하여 속성 . "모양 사용자 정의"에 나열된 메서드를 사용할 수도 있습니다. 모양 프록시 ( 예제, [UITabBarItem appearance]) 또는 단일 탭 표시 줄을 사용하여 모든 분할 컨트롤의 모양을 사용자 정의 할 수 있습니다. 은 "완료된 선택 이미지 관리"에 나열된 방법을 사용하여 선택 완료 이미지와 선택 취소 이미지를 제공 할 수도 있습니다. 그러나 이러한 메서드는 UIAppearance 프록시 API에 참여하지 않습니다 ( UIAppearance 참조). UIKit은 이제 완성 이미지에 대한 자동 치료를 제공합니다. 좋은 결과를 얻으려면 으로 선택한 완료 이미지와 일치하지 않는 이미지를 setFinishedSelectedImage : withFinishedUnselectedImage :를 사용하여 제공해야합니다.

관련 문제