2011-11-21 6 views
0

navigationController에 내 앱 기반을두고 있습니다. 그래서 도구 모음을 일부보기 및 다른 사람들을 위해 setToolbarHidden:NO 또는 YES 호출 한 didnt 설정할 표시합니다. 첫 번째 질문은 viewWillAppear 방법입니까?전체 앱용 iPhone 툴바

appDelegate에서 툴바에 하나의 항목을 넣었지만 표시되지 않습니다. 다른 사람이 나를 보여줄 수 있습니까? 위임 프로토콜을 사용하여 항목을 눌렀을 때 각보기에서 무엇을해야하는지 어떻게 알 수 있습니까?

내 코드 : 사전에

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {  

    //create itemViewcontroller 
    EventosViewController *itemsViewController = [[EventosViewController alloc] init]; 

    //create UINavigationcontroller, stack only contains itemviewcontroller 
    navController=[[UINavigationController alloc] initWithRootViewController:itemsViewController]; 
    //navController will retain itemviewcontroller, we can release it 
    [itemsViewController release]; 

    UIBarButtonItem *systemItem1 = [[UIBarButtonItem alloc] 
            initWithBarButtonSystemItem:UIBarButtonSystemItemAdd 
            target:self 
            action:@selector(pressButton1:)]; 
    //Use this to put space in between your toolbox buttons 
    UIBarButtonItem *flexItem = [[UIBarButtonItem alloc] 
           initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace 
           target:nil 
           action:nil]; 
    //Add buttons to the array 
    NSArray *items = [NSArray arrayWithObjects: systemItem1, flexItem,nil]; 

    //release buttons 
    [systemItem1 release]; 
    [flexItem release]; 

    //add array of buttons to toolbar 
    [navController.toolbar setItems:items animated:NO]; 

    //set navController's view in window hierarchy 
    [[self window] setRootViewController:navController]; 
    [navController release]; 

    // Override point for customization after application launch. 
    [self.window makeKeyAndVisible]; 

    return YES; 
} 

들으!

+0

같은 toolbaritems, 아니면 그냥 버튼을 계속 할 수 있습니까? – Mundi

+0

그냥 버튼 –

답변

0

기본적으로 숨겨진 툴바. toolbarItems은 탐색 컨트롤러가 아닌 해당보기 컨트롤러에 저장해야합니다. documentation에서

: 도구 모음
아이폰 OS 3.0에서 나중에 표시

는 네비게이션 컨트롤러 객체는 쉽게 네비게이션 인터페이스의 각 화면에 대한 사용자 지정 도구 모음을 제공 할 수 있습니다. 네비게이션 컨트롤러 개체는 뷰 계층에서 옵션 도구 모음을 관리합니다. 이 도구 모음이 표시되면 활성보기 컨트롤러의 toolbarItems 속성에서 현재 항목 집합을 가져옵니다. 활성보기 컨트롤러가 변경되면 탐색 컨트롤러는 도구 상자 항목을 새보기 컨트롤러와 일치하도록 업데이트하고, 적절한 경우 새 항목을 적절한 위치에 애니메이션으로 표시합니다.

탐색 도구 모음은 기본적으로 숨겨져 있지만 setToolbarHidden 호출하여 탐색 인터페이스를 표시 할 수 있습니다 : 애니메이션을 : 당신의 탐색 컨트롤러 객체의 방법. 모든보기가 컨트롤러가 도구 모음 항목을 지원하지 않는 경우 대리자 개체는이 메서드를 호출하여 후속 을 푸시하고 팝 작업 중에 도구 모음의 표시 여부를 전환 할 수 있습니다.

+0

그래서 만약 내가 모든 버튼이 동일하고 동일한 작업을 알고있는 모든 5 개의보기에 * 그들을 만들고 삽입해야 할 도구 모음을 보여주고 싶은 5보기가 있습니까? –

+0

예. 다음 뷰 컨트롤러로 복사하는 것은 한 줄의 코드 일뿐입니다. – Mundi

0

도구 모음이 표시되지 않는이

ThemeDetailViewController *themeDetail = [[ThemeDetailViewController alloc] init]; 
[self.navigationController pushViewController:themeDetail animated:YES]; 
themeDetail.toolbarItems = self.parentViewController.toolbarItems;