문제

내 탭 막대에서 특정 탭을 프로그래밍 방식으로 열어야합니다.

UitabbarController에서 다음 방법을 호출하려고했습니다.

self.selectedViewController = myVController;

작동하지 않습니다.

탭을 여는 올바른 방법은 무엇입니까?

고맙습니다.

업데이트 : 다음 코드를 시도했습니다.

self.selectedViewController = [ [self viewControllers] objectAtIndex: 0];

바람직한 탭 (선택 중임)을 열어 주지만 활성보기가 업데이트되지 않습니다.

도움이 되었습니까?

해결책

에 대해 selectedIndex Apple의 문서는 다음과 같이 말합니다.

버전 3.0 이전의 iPhone OS 버전 에서이 속성은 선택한 탭 막대 항목의 색인 만 반영합니다. 이 값을 탭 막대에서 볼 수 없지만 더 많은 탐색 컨트롤러에서 관리하는 뷰 컨트롤러 인덱스 로이 값을 설정하려고 시도하는 것은 효과가 없습니다.

아마도 이것이 당신의 문제였습니까?

가능한 한 가지 해결 방법은 자신의 사용입니다 UITabBar 자신의 견해를 처리합니다. 그런 다음 다음과 같은 일을 할 수 있습니다.

[tabBar setSelectedItem:[tabBar.items objectAtIndex:1]];

그냥 구현하십시오 UITabBarDelegate 이 기능을 정의하여 항목 선택 메시지를 가져오고 수동으로 뷰를 전환하십시오. (고급을 사용하는 경우 UITabBarController 기능은 당신의 노력의 가치가 없을 수도 있습니다.)

- (void)tabBar:(UITabBar *)tabBar didSelectItem:(UITabBarItem *)item
{

}

다른 팁

내가 한 방식은 사용하는 것입니다 self.tabBarController.selectedIndex = 1 (첫 번째 탭은 색인 0입니다).

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top