2010-08-16 2 views
0

좋아요, 모달 뷰에서 parentviewcontroller에게 메시지를 보내는 위임을하는 방법을 이해합니다.하지만 그 부모 - 자식 관계가없는 뷰를 2 개 사용하고 싶다면 어떻게해야합니까?iPhone 용 모달 뷰가 아닌 위임을 사용합니다.

모달보기 위로 넘긴 탐색 컨트롤러가 있고 그 모달보기가 새보기 컨트롤러를 푸시합니다. 푸시 된보기 컨트롤러가 탐색 컨트롤러와 통신하게하려면 어떻게해야합니까? I 부모에 대한이 사용 된 모달 뷰 코드 :

-(IBAction)pressedUnitAddy { 
UnitAddyView *unitVC = [[UnitAddyView alloc] init]; 

unitVC.delegate = self; 

UINavigationController* theNavController = [[UINavigationController alloc]initWithRootViewController:unitVC]; 

theNavController.modalTransitionStyle = UIModalTransitionStylePartialCurl; 
[self presentModalViewController:theNavController animated:YES]; 

[unitVC release]; 
[theNavController release]; 

}

- (무효) didDismissUnitAddyView {[자기 dismissModalViewControllerAnimated : YES]; }

.... 그런 다음 UnitAddyView에서 didDismissUnitAddyView를 호출합니다. 지금, 나는 무엇을하려고하는지에 대한 견해를 없애려하지 않고 있지만, 밀어 넣은 뷰 컨트롤러가 내비게이션 컨트롤러와 대화 할 수 있기를 바랄뿐입니다. 내가 어떻게 그럴 수 있니?

답변

0

내가하려는 것은 탐색 컨트롤러 화면에서 데이터를 다시로드하는 것이 었습니다. 우리가 직접 연결하지 않은 UIViewController와 nav 컨트롤러 - 모달 뷰를 통해 분리되었습니다. 내가 한 모든 것, 그리고 이전에 생각해 보았던 것, 모달 뷰의 델리게이트를 nav 컨트롤러에 설정하고 모달 뷰가 해제되었을 때 nav 컨트롤러를 다시로드하는 메서드를 호출했습니다.

0

보기 제어기는 속성이 navigationController입니다.이 제어기는 내비게이션 컨트롤러에 푸시되지 않으면 nil이며, 해당되는 경우 내비게이션 포인터입니다. 그 질문에 대답합니까?

+0

내가보기에있는 뷰 컨트롤러는 모달 뷰로 푸시되고 있습니다. 어떻게하면 해당 뷰 컨트롤러의 nil navigationController가 앱의 다른 탐색 컨트롤러를 가리키는 지 확인할 수 있습니다. (밀어 넣은 모달 뷰가 아닙니다.) – startuprob

+0

'navigationController'는 스택이있는 내비게이션 컨트롤러를 가리키는 유일한 속성이므로 할 수 없습니다. 그러나 다른 'UINavigationController *'속성을 View Controller에 추가하고 View Controller를 생성 할 때 속성을 설정할 수 있습니다. 여기 정확히 무엇을하려고합니까? 이러한 제안이 유용 할지를 아는 것은 어렵습니다. 연결되지 않은 네비게이션 컨트롤러에 대해 알아야 할 필요가있는 것은 드문 일이며, 이상한 일을하는 것이 좋습니다. –

관련 문제