2012-01-13 3 views
0

툴바가 포함 된 표준 UIView가있는 앱이 있습니다. 툴바의 버튼을 탭하여 UIActionSheet를 열 수 있으며 거기에 내 텍스트를 표시 할 수 있습니다. 액션 시트 항목에 내 프로젝트의 다른 XIB가 표시되도록하고 싶습니다. 관련 헤더 및 구현 파일과 XIB 모두에서 모든 것을 설정했지만 두 번째보기를 표시하려면 작업 시트 항목을 두드리는 작업을 링크해야합니다.UIActionSheet를 통한보기 전환

- (void)actionSheet:(UIActionSheet *)sheet willDissmissWithButtonIndex:(NSInteger)buttonIndex { 

    if (buttonIndex != [sheet cancelButtonIndex]) { 

     if (buttonIndex == 0) { 

      ABC *secondview = [[ABC alloc] initWithNibName:nil bundle:nil]; 
      [self presentModalViewController:secondview animated:YES]; 
     } 

     if (buttonIndex == 1) { 

      DEF *secondview = [[DEF alloc] initWithNibName:nil bundle:nil]; 
      [self presentModalViewController:secondview animated:YES]; 

     } 

     if (buttonIndex == 2) { 

      GHI *secondview = [[GHI alloc] initWithNibName:nil bundle:nil]; 
      [self presentModalViewController:secondview animated:YES]; 

     } 

    [self dismissModalViewControllerAnimated:YES]; 

    }; 

} 

이 내 액션 시트를 열고 모든 올바른 정보를 표시하지만 "ABC", "DEF"또는 "GHI"를 도청하는 것은 단지 액션 시트를 닫습니다 :

내가 지금까지 무엇을 가지고 마치 내가 취소 버튼을 가볍게 두드렸던 것처럼. "ABC", "DEF"또는 "GHI"를 두드려서 프로젝트에서 다른 XIB를 열도록 설정하는 방법은 무엇입니까?

답변

0

메소드 이름을 수정하여 시작하십시오. "dismiss"의 철자가 잘못되었습니다. 이것이 실제 코드 인 경우, 위임 메소드는 현재 호출되지 않고 있습니다.

후속 :

OK, 나는 (... 또는 겉으로는 불필요한 dismissModalViewController없이) 코드를 테스트하고 나를 위해 작동합니다.

큰 설정에 문제가 있다고 생각됩니다. 중단 점을 설정하고 코드가 실제로 실행되는지 확인 했습니까?

실행되지 않는 경우 (내 의혹) 위임자를위한 적절한 값을 전달하지 못한 경우 : UIActionSheet를 설정할 때 확인하십시오. (특히, 델리게이트로 전달하지 않았습니까? 이것은 당신이 묘사하고있는 종류의 침묵하는 실패를 일으킬 것입니다.)

컴파일러/Clang으로부터 경고 메시지가 나타 납니까?

+0

확실히 그 부분입니다. 나는 변화를 만들었지 만 앱의 행동에는 변화가 없다. 액션 시트의 탭을 적절한보기로 올바르게 라우팅하지 않습니다. – Jon

+0

좋습니다, 위의 후속 댓글을 참조하십시오. –

+0

당신은 머리에 못을 박았 : 내 대의원은 "없음"으로 설정되어 있습니다. 유일한 문제는 - 이미 말할 수 없다면 - 내가하는 일을 알지도 못한다는 것입니다. UI Delegate Protocol Reference에 대한 Apple 설명서를 살펴 보았지만 어디에도 가지 않았습니다. 이 사건에 대한 더 깊은 통찰력이 있으십니까? – Jon

관련 문제