0

다른 콘텐츠에 교차 연결된 콘텐츠가있는 앱을 개발 중입니다.다른 화면에서 UITabbarcontroller의 탭 활성화

앱에는 5 개의 탭이 있습니다. 각 탭에는 Tableviews와 detailsviews가 있습니다. 탭의 세부보기에서 다른 탭의 다른 항목으로 이동할 수 있습니다.

예를 들어

: 표 1>의 TableView 목록 카테고리>의 TableView의 목록 항목> DetailView>의 TableView 가교 항목> 탭 2> DetailView

(어떤 의미가 희망! D)

내가 활성화 tabbarController.selectedIndex의 탭 2 = 1; 요청한 detailview는 열지 않지만 TableView 목록 카테고리는 열지 않습니다.

이 방법이 있습니까?

감사합니다.

답변

0

DetailsView가 UITableViewDelegate의 willSelectRowAtIndexPath 또는 didSelectRowAtIndexPath에 의해 푸시 된 경우 탭을 전환 할 필요가없고 위에서 언급 한 호출을 직접 실행하거나 UITableView의 selectRowAtIndexPath를 호출해야합니다 (후자는 더 좋습니다).

수정 !!!

나는 바로 위에 없었다! !!!! selectRowAtIndexPath는 대리자가 tableView : willSelectRowAtIndexPath : 또는 tableView : didSelectRowAtIndexPath : 메시지를받지 못하게합니다. 무엇을해야합니까? 새 메서드 pushDetailViewController를 TableViewController에 추가하십시오. didSelectRowAtIndexPath보다이 새 메서드를 쉽게 호출 할 수 있습니다. 이제 스위치 탭에서이 메서드를 pushDetailViewController라고 부르는 메서드에서 호출합니다. 그게 다야.

+0

좀 더 자세히 설명해 주시겠습니까? DidSelectRowAtIndexPath를 사용하여 DetailView를 푸시합니다. 그렇다면 내가 언급 한대로 직접 호출하거나 UITableView의 selectRowAtIndexPath를 호출 할 것인가? 연결된 항목의 개요 목록 (TableView)에서이 작업을 수행해야합니까, 아니면 다음 탭의 상세보기에서 수행해야합니까? Thnx !! – Douwe

+0

나는 옳지 않았다! selectRowAtIndexPath는 대리자가 tableView : willSelectRowAtIndexPath : 또는 tableView : didSelectRowAtIndexPath : 메시지를받지 못하게합니다. 무엇을해야합니까? 새 메서드 pushDetailViewController를 TableViewController에 추가하십시오. didSelectRowAtIndexPath보다이 새 메서드를 쉽게 호출 할 수 있습니다. 이제 스위치 탭에서이 메서드를 pushDetailViewController라고 부르는 메서드에서 호출합니다. 그게 다야. –

+0

안녕하세요 발레리! 귀하의 의견에 다시 Thnx! 여전히 다음과 같이해야합니까 : tabbarController.selectedIndex = 1 ;? – Douwe