2012-05-22 3 views
0

나는 3 viewcontroller 있습니다. FirsViewController, SecondViewController 및 ThirdViewController가 있습니다. FirstviewController는 root viewcontroller이고 secondviewcontrooler xib를 하위 뷰로 추가합니다. like ..부모보기 reponder에 액세스하는 방법

[firstviewcontrollerObject.view addsubview : secondViewcontrollerObj.view].

두 번째 뷰 컨트롤러에는 하나의 버튼이 있습니다. 버튼 터치 동작이 호출되면 ThirdViewController가로드됩니다. like ..

[SecondViewControllerobj.view addsubview : thirdviewcontrollerobj.view];

이제 ThirdView 제어기가 화면에 표시됩니다. 이 뷰 콘트롤러는 작은 버튼을 가지고있다. 그래서 화면에 2 개의 버튼이 보입니다. 첫 번째 버튼은 SecondviewCOntroller이고 두 번째 버튼은 ThirdViewCOntroller입니다. 그러나, 나는 Secondviewcontroller 버튼이 아닌 Thirdviewcontroller의 터치 액션만을 제공 할 수 있습니다.

두 단추를 모두 눌러 내보기를 디자인해야하는데 컨트롤러 i를 병합하지 않으려면 어떻게해야합니까?

+0

클릭 이벤트에 액세스하면 무엇을 의미합니까? – Lucas

+0

버튼 응답 장치에 관한 것입니다. –

+0

클릭을 듣거나 동작을 트리거 하시겠습니까? – Lucas

답변

0

여러 UIViewController를 사용하지 않고 구현해야한다고 생각합니다.

보기 컨트롤러는 한 번에 하나의보기 만 표시되도록 탐색 스택에서 푸시하고 팝업하는 데 유용합니다. 나는 시도하지 않았지만, 그래서 그것이 당신이 버그를 얻는 이유라고 생각합니다.

하지만 네비게이션 컨트롤러의 장점을 선호했다. 그렇지 않습니까? 첫 번째 뷰 컨트롤러의이 secontroller.view 및 thirdviewcontroller.view 이제 세 번째는 복용을 눌러 제스처 만에서 두 개의보기를 포함 의미

NSArray * arr1 = [[NSBundle mainBundle] loadNibNamed:@"MyView1" owner:nil options:nil]; 
NSArray * arr2 = [[NSBundle mainBundle] loadNibNamed:@"MyView2" owner:nil options:nil]; 
NSArray * arr3 = [[NSBundle mainBundle] loadNibNamed:@"MyView3" owner:nil options:nil]; 
UIView * v1 = [arr1 objectAtIndex:0]; 
UIView * v2 = [arr2 objectAtIndex:0]; 
UIView * v3 = [arr3 objectAtIndex:0]; 

// now you have your 3 views, do what you want with them: 
v1.center = CGPointMake(100,100); 
[self.view addSubview:v1]; 
v2.center = CGPointMake(100,200); 
[self.view addSubview:v2]; 
v3.center = CGPointMake(100,300); 
[self.view addSubview:v3]; 
0

:

그렇다면은, 전망 XIB를 사용하는 방법이 두 번째는 언론의 몸짓을하지 않는 것입니다.

는 firstviewcontroller.view 에 두 개의보기를 확인하시기 바랍니다과 뷰 모두 터치를 취할 것입니다 이러한 방식으로 그

firstviewcontroller.secondVW=[[Secondviewcontroller alloc]init].view; 
    firstviewcontroller.thirdVW=[[Thirdviewcontroller alloc]init].view; 

좋아해요.

관련 문제