2013-07-30 5 views
1

테이블에 데이터를 추가 할 때 사용할 뷰가 있습니다.presentViewController를 사용하여 보여준 View와 어떻게 상호 작용할 수 있습니까?

AddViewController *avc = [self.storyboard instantiateViewControllerWithIdentifier:@"addview"]; 
[self presentViewController:avc animated:YES completion:nil]; 

UINavigationController가 추가 컨트롤을 표시하는 UIViewController의 루트 뷰 컨트롤러 : 나는 presentViewController를 사용하여이보기를 보여줍니다.

나는이 프로젝트를 두 곳의 다른 장소에서이 UINavigationController을 트리거하고 각각에 대해 약간 다른 텍스트를 사용하고 싶습니다. 내가 presentViewController이라고 부르는 UIViewController과 어떻게 상호 작용할 수 있습니까? 그렇지 않으면 호출 된 위치에 따라 UIViewController을 변경합니까?

+0

나는 정확하게 이해하지 못한다고 생각합니다. AddViewController는 UINavigationController입니까? 아니면 내비게이션 컨트롤러에 표시 될 하나의 ViewController입니까? 당신이 정말로 원하는 것은 "AddViewController"내부에서 뭔가를 변경하는 것입니다.이 컨트롤러는 표시 될 뷰 컨트롤러입니까? –

+0

'AddViewController'는'UINavigationController'입니다. 혼란 스럽습니다. 루트 뷰 컨트롤러 인 'UIViewController'에 액세스하려고합니다. – fredley

답변

1

좋아,이 같은 탐색 컨트롤러의 rootView 컨트롤러에 액세스 할 수 있습니다

UINavigationController *yourNavigationController = [self.storyboard instantiateViewControllerWithIdentifier:@"yourViewControllerID"]; 

YourRootController *yourRootController = (YourRootController*)[yourNavigationController topViewController]; 

yourRootController.someproperty = someValue 

보다, 그냥 그냥 얻을 뷰 컨트롤러의 일부 원하는 속성을 변경하십시오. 제발, 당신이 찾고있는 그런 것이 었는지 말해주세요.

0
UIViewController *controller= (UIViewController)[self.navigationController subviews] count-2 ]; 

컨트롤러가 스택의 두 번째 마지막보기 컨트롤러입니다. 이것은 add를 호출 한 것이다.

값에 따라 [controler class]에 따라 텍스트를 설정할 수 있습니다.

관련 문제