2012-07-10 4 views
0

이 프로젝트에서는 Xcode 4.3.3 및 스토리 보드를 사용하고 있습니다.마스터 뷰와 디테일 뷰 컨트롤러 간의 통신

필자는 목록에 도달 할 때까지 네비게이션 컨트롤러로 몇 레벨을 드릴 다운하는 마스터보기 컨트롤러가 있습니다. 사용자가 해당 목록에서 셀을 선택하면 상세 뷰 컨트롤러를 새 뷰 컨트롤러로 변경해야합니다. 그런 다음 사용자가 마스터보기 컨트롤러의 맨 위로 돌아갈 때 디테일보기 컨트롤러가 튀어 나와 원래의보기 컨트롤러를 다시 표시하기를 원합니다.

segues를 사용하여 다소 효과가있을 수 있지만 새로운 디테일보기 컨트롤러를 띄우고 원래의 것을 표시하려고하면 매우 혼란 스럽습니다. 또한 세로보기 모드에서 마스터 뷰 Popover를 제어하는 ​​BarButtonItemPresenter 대리자를 엉망으로 만듭니다. 프로그래밍 방식으로이 작업을 수행 할 수있는 방법이 있습니까? 그렇다면 예제 코드가 크게 감사 할 것입니다.

답변

0

마스터보기 컨트롤러에서 세부보기 컨트롤러로 세그먼트로 해결했습니다. 속성 관리자에서 "대상"을 "세부 정보 분할"로 설정하고 "식별자"를 의미있는 것으로 설정합니다 ("고객 표시"사용). 그럼 난 당신이 uiSplitViewController 태그 한 볼 ...

[self performSegueWithIdentifier:@"Show Customer" sender:self]; 
    [self setDelegate:(id<CustomerTableViewControllerDelegate>)[self.splitViewController.viewControllers objectAtIndex:1]]; 
//call some method here to prepare your detail view controller 
0

대답은 조금 늦게, 그리고 귀하의 질문에 조금 혼란,하지만 ... 마스터 뷰 컨트롤러에

를 부릅니다. 나는 iPad에서 View 컨트롤러를 터뜨리려고 애쓰는 동안 당황했다.

[self.navigationController popViewControllerAnimated:YES]; 

대신보십시오 :

[self.detailViewController.navigationController popViewControllerAnimated:YES]; 

아이 패드에 분할 뷰 컨트롤러는 두 번째 네비게이션 컨트롤러를 사용하여이 점을 염두에 보인다.

죄송합니다. 답변을 추적하지 않으면 죄송합니다.

관련 문제