0

내 앱이 왼쪽의 슬라이드 아웃 메뉴로 이동됩니다. 각 viewController의 상단에는 "탐색"이라는 제목의 왼쪽 UIBarButton이 있습니다.이 메뉴를 터치하면 드래그 효과를 사용하지 않고도 슬라이드 아웃 메뉴가 열립니다. 내 앱에 음성 명령을 구현하고 있는데 사용자가 '금융으로 이동'이라고 말하면 FianceViewController에서 instantiateViewController에서 pushViewController까지 viewController이라는 제목이 붙습니다.pushViewController가 호출되면 뒤로 버튼이 이전 UIBarButton을 덮습니다.

이 모든 것이 정상적으로 작동하지만 유일한 문제는 푸시 세그먼트와 관련된 뒤로 버튼이 UINavigationBar의 왼쪽 슬롯에있는 "내비게이션"버튼을 덮는 것입니다. self.navigationItem.hidesBackButton = YES;을 사용하면 뒤로 버튼과 내 "내비게이션"버튼이 모두 숨겨집니다. 푸시가 발생해도 뒤로 버튼을 표시하지 않더라도 이전에 만든 "탐색"막대 버튼을보고 사용할 수 있습니까? 또는이 UIBarButton 딜레마를 해결할 수 없으면 push 이외의 방법으로 수행 할 수있는 또 다른 유형의 세그먼트가 있습니까?

if ([title isEqualToString:@"FINANCES"]) 
{ 

    FinanceViewController *fvc = [[self storyboard] instantiateViewControllerWithIdentifier:@"finance"]; 
    [[self navigationController] pushViewController:fvc animated:YES]; 

} 

답변

0

대신 내 뒤로 버튼을 숨기고, 나는 단순히 그 위에 쓸 수 알아 냈어! pushViewController 앞에 fvc.navigationItem.leftBarButtonItem = self.navigationItem.leftBarButtonItem;을 사용하면 "탐색"버튼이 뒤로 버튼을 무시할 수 있습니다.

0

는 어떻게 탐색 버튼을 추가 : 말 할 때 segues 코드의

제? 나는이 같은 뒤로 버튼, 뭔가 숨기고 후 추가하려고합니다 :

self.navigationItem.hidesBackButton = YES; 
UIButton *navigationButton = [[UIButton alloc] initWithFrame:CGRectMake(15.0, 15.0, 100.0, 32.0)]; 
self.navigationController.navigationBar.backItem.leftBarButtonItem = [[UIBarButtonItem alloc] initWithCustomView:navigationButton]; 
+0

탐색 버튼을 만드는 코드를 추가했습니다. 왜냐하면 이것은 'rootViewController'에서 선언되고 개별 viewController는 아니라는 점에서 까다로울 수 있습니다. 여러분의 생각을 알려주세요. – momodude22