0

4 개의보기가 포함 된 탭 막대 컨트롤러가 있습니다. 3 views는 매우 기본입니다. 데이터가있는 테이블 뷰 (SimpleTableView 뷰 중 하나를 호출). 네 번째 뷰는 두 개의 버튼이있는 탐색 컨트롤러를 가리 킵니다 (이 뷰는 MainNavView라고합니다). 두 버튼은 서로 다른 뷰를 가리키고 (ViewA와 ViewB), 네비게이션 바에서 뒤로 버튼을 누르면 두 개의 버튼 (MainNavView)으로 뷰로 돌아갈 수 있습니다. 훌륭하게 작동합니다.내비게이션 컨트롤러 내의보기로 이동

여기 내 문제가 있습니다. SimpleTableView의 didSelectRowAtIndexPath에서 Navigation Controller의 ViewA를 표시합니다. 사용자가 해당 페이지를 방문하면 탐색 막대의 뒤로 버튼을 눌러 MainNavView가 나타납니다. ViewA에 MainNavView에서 탐색

은 (푸시) SEGUE로 수행됩니다

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath { 
    [self performSegueWithIdentifier:@"segueIdentifier" sender:nil]; 
} 

MainStoryBoard는 "segueIdentifier을"이라는 ViewA에 MainNavView 내부 tableviewcell에서 SEGUE이 포함되어 있습니다.

나는 ViewA에 SimpleTableView 내부 tableviewcell에서 다른 SEGUE을하고 다시 코드를 실행하려고 :

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath { 
    [self performSegueWithIdentifier:@"segueIdentifier" sender:nil]; 
} 

을하지만 그때 나는

NSGenericException', reason: 'Push segues can only be used when the source controller is managed by an instance of UINavigationController 

지금이 오류가 쉽게 고정이 오류를 얻을 때 내비게이션 컨트롤러 안에 SimpleTableView를 포함 시키지만, 뒤로 버튼은 MainNavView가 아닌 ​​SimpleTableView로 사용자를 반환하기 때문에 원하는 것은 아닙니다.

모든 것이 명확하고 누군가가이 탐색 문제로 나를 도울 수 있기를 바랍니다. 이것은 푸시 대신 모달 세구로 가능합니까?

답변

0

당신은 UINavigationController 아닌 컨트롤러에서 푸시 SEGUE을 사용할 수 없습니다, 당신은 ViewA에 직접 가리키는 모달 SEGUE를 사용해야합니다. 방금 시도했는데, 완벽하게 작동합니다! 같은 뷰 계층에/... 나는 다른 탭에서 푸시 SEGUE를 사용하여 사용자를 죄수 수 있다는 생각에서 사용자의 관점에서

, 푸시 segues 명시 적 전환은 내가 해봤

+0

...입니다 그것은 모달로 작동하지만 작동하지만 ViewA는 "MainNavView"에 대한 뒤로 버튼이있는 탐색 모음을 표시하지 않습니다. –

관련 문제