2012-12-02 2 views
1

각 탭이 내비게이션 컨트롤러 인 탭 응용 프로그램을 작성하려고합니다. 이 탭 표시 줄은 네비게이션 컨트롤러의 모든보기에서 각보기에서 유추되는 것으로서 나타납니다.프로그래밍 방식으로 UITabbar를 UIToolbar로 바꾸기

자세히보기에서이 탭 표시 줄을 몇 개의 단추가있는 도구 모음으로 바꾸고 싶습니다. 방법

self.navigationController.toolbarHidden = NO; 
self.navigationController.toolbar.barStyle = UIBarStyleBlackTranslucent; 

UIBarButtonItem *accept = [[UIBarButtonItem alloc] initWithTitle:@"Accept" 
                   style:UIBarButtonItemStyleBordered 
                   target:self 
                   action:nil]; 

UIBarButtonItem *decline = [[UIBarButtonItem alloc] initWithTitle:@"Decline" 
                   style:UIBarButtonItemStyleBordered 
                   target:self 
                   action:nil]; 
NSArray *items = [NSArray arrayWithObjects:accept, decline, nil]; 
[self.navigationController.toolbar setItems:items animated:YES]; 

// code suggested 
[self.view addSubview:self.navigationController.toolbar]; 

그것은 여전히 ​​표시되지 않습니다 :

은 그 상세보기의 viewDidLoad에 다음 코드를 시도했습니다. 비록 상세보기를 제시하고있어보기에 다음 줄을 추가하기 위해 이제 탭 표시 줄을 숨 깁니다 -

theDetailTableViewController.hidesBottomBarWhenPushed = YES; 

내가 뭔가를 놓친 적이 있습니까?

당신이에서 detailViewController을 추진하고있다 어디든지

답변

0

저는 일반적으로 viewWillAppear 또는 viewDidAppear 메서드에 toolbarHidden = YES 또는 NO를 적절하게 입력합니다. 그것이 당신을 위해 일하지 않는 이유인지 확신 할 수 없지만 어쨌든 당신이 제시하는 견해로 돌아 왔을 때 당신은 문제를 제기해야합니다.

주소를 지정하지 않으면 돌아갈 때 도구 모음이 계속 표시됩니다.

+0

건배. 그게 효과가 있었어. 뷰가 나타나면 viewDidAppear을 사용하여 툴바를 표시했습니다. 그리고 viewWillDisappear를 사용하여 사라지는 것처럼 숨길 수 있습니다. –

0

, 상세보기에서 탭 표시 줄을 숨기려면 다음을 수행하십시오

DetailViewController *detailViewController = [[DetailViewController alloc] initWithNibName:@"DetailViewController" bundle:nil]; 
detailViewController.hidesBottomBarWhenPushed = YES; 
[self.navigationController detailViewController animated:YES]; 

및 상세보기에서

, 그냥 detailView에 하위 뷰 같은 도구 모음을 추가 할 수 있습니다.

+0

도움 주셔서 감사합니다. @calvinBhai 제안한 내용으로 질문을 업데이트했습니다. 탭 표시 줄은 사라졌지만 툴바는 여전히 표시되지 않습니다. –

관련 문제