2011-10-11 3 views

답변

0

다른 컨트롤러에 추가 할 수는 없지만 MainWindow에 추가하여 일부 AppController에만 표시되고 전체 응용 프로그램에 표시되지 않도록 할 수 있습니다. AppDelegate에 UITabBarController를 추가하고 정의하십시오. 당신이 이동할 때 이제

[self.window addSubview:navController.view];

[self.window makeKeyAndVisible];

: 앱의 첫 번째에서 탭 표시 줄을하지 않으려면 지금, 당신은 다음과 같이 메인 창에 하위 뷰로 추가 탐색 컨트롤러를해야합니다 다른 컨트롤러로 이동하여 탭 표시 줄 컨트롤러를 표시하려면 navigationController를 subView에서 제거하고 탭 표시 줄 컨트롤러를 하위보기에 추가해야합니다. 그래서 AppDelegate에있는 별도의 방법을 수행하려면 :

-(void)Load_tabBar 
{ 
[self.navController.view removeFromSuperview]; 
[self.window addSubview:tabBarController.view]; 
[self.window makeKeyWindow]; 
} 

다시 다른 방법으로 역을 탭 표시 줄을 제거하려면 :

-(void)remove_tabBar 
    { 
    [self.tabBarController.view removeFromSuperview]; 
    self.tabBarController.selectedIndex=0; 
    [self.window addSubview:navController_initiale.view]; 
    [self.window makeKeyWindow]; 
    } 

이 당신을 위해 일을 할 것입니다!

+0

모노톤으로 이것을 쓸 수 있습니까? 저는 실제로 객체 C를 모르겠습니다. 이해할 수는 있지만, 필요할 때 어떻게 이러한 메소드를 호출 할 수 있습니까? – KiShOrE

+0

불행히도 나는 미안 친구입니다. 나는 모노 터치를 모른다. Objective C에서 씁니다. 목표 C에서는 다음과 같이 해당 메소드를 호출 할 수 있습니다. AppDelegate 파일로 만들어지기 때문에 필요할 때마다'[appDelegate Load_tabBar];'&'[appDelegate remove_tabBar];와 같이 호출됩니다. 여기서 appDelegate는 AppDelegate 클래스의 객체입니다. –

+0

Dip.Imotouch로 시도해 보겠습니다. – KiShOrE

1

아니요, 다른보기 컨트롤러에 UITabBarController를 추가 할 수 없습니다. "어떤 창"이라도). 그것은 귀하의 애플 리케이션의 루트 컨트롤러를 의미합니다. 다른 컨트롤러에 추가하면 제대로 작동하지 않습니다.

+1

하지만 메인 윈도우에 있지 않은 다른 윈도우에서 탭바를 보여줄 필요가 있습니다. 내 방문 페이지 인 로그인 윈도우에서 탭바를 보여주기 때문에 내비게이션 컨트롤러, 탭바 컨트롤러를 사용하고 있다는 의미에서 그걸 보여줄 필요가 있습니다 응용 프로그램의 중간 창인 거래 페이지 (하나의 창)에있는 tabbar. 어떻게 가능합니까? 저를 도울 수 있습니까? – KiShOrE

+0

탭바드 컨트롤러에서 로그인 창을 첫 번째 탭으로 표시해야합니까? 루트 컨트롤러와 연결해야한다고 말하기 때문에 내 루트 컨트롤러는 로그인 창입니다. – KiShOrE

+0

나는 당신의 문제를 이해했고 나는이 같은 문제를 일찍 일했다. 초기보기에서 UINavigationController를 사용하여 로그인, 가입 및 기타 컨트롤러가 있었고 한 번 로그인하면 탭 표시 줄을 표시해야했습니다. 아래에 표시된 두 가지 방법을 사용하여 Tab Bar Controller를 추가하고 제거했습니다. 그것은 완벽하게 잘 작동했습니다. MainWindow 자체에 UINavigationController와 함께 UITabBarController를 추가하고 기본적으로 Navigation 컨트롤러를로드해야합니다. –

관련 문제