2017-10-05 14 views
0

회색 이미지를 그립니다있는 UIImage 확장 원본 이미지의 알파 값을 사용하여 색상으로 이미지를 생성합니다.아이폰 OS 탭 바 사용자 정의 항목 이미지, 탭 표시 줄이 내가 다음 코드를 사용하고, 내가 탭 표시 줄 항목 이미지의 색상을 변경하려고 왼쪽

코드가 처음 실행되면 모든 것이 정상입니다.

위의 코드를 호출하여 색상을 변경하면 모든 탭 막대 항목이 텍스트가있는 탭 막대 왼쪽에 표시됩니다. 에뮬레이터와 장치에서 모두 발생합니다 (iPhone + iPad). 이거 버그 야?

enter image description here

답변

0

글쎄요. 대신 UITabBarItem의 이미지를 설정하는이처럼 처음부터 UITabBarItem을 만들고 거기에 이미지를 설정해야합니다

for (UIViewController *vc in tabBarController.viewControllers) { 
    UITabBarItem *newItem = [[UITabBarItem alloc] initWithTitle:someTitle image:someImageUnsel selectedImage:someImageSel]; 
    vc.tabBarItem = newItem; 
} 

UITabBarItem *newItem = [[UITabBarItem alloc] initWithTitle:someTitle image:someImageUnsel selectedImage:someImageSel]; 
tabBarController.moreNavigationController.tabBarItem = newItem; 

는 생각이 솔루션에 문제가 있습니다 : MoreNavigationController 그것은 tabBarItem의 설정 후 다시 나타납니다. 일반적인 애플, 무게?!

더 좋은 해결책을 제공 할 수있는 분은 누구입니까?

0

당신은 스토리 보드 자체를 사용하여 tabbaritem 이미지를 설정할 수 있습니다. 선택한 tabbaritem으로 색상을 변경하려면 for 루프를 작성할 필요가 없습니다. 아래 라인을 사용할 수 있습니다.

 [[UITabBar appearance] setTintColor:[UIColor greenColor]]; 
+0

이 항목은 선택한 항목의 색만 변경하지만 선택하지 않은 항목은 회색으로 표시됩니다. 벌써 해봤 어. – Borzh

+0

나는 당신이 tabbaritem 이미지에 대해 선택되거나 선택되지 않은 색상을 사용하고 있음을 알고 있습니다. – Rajesh

+0

예, 둘 다 실제로 선택되지 않은 색상은 선택 항목과 동일하지만 알파 0.5 만 있습니다. – Borzh