2012-04-30 2 views
4

나는 내 아이폰 응용 프로그램에 대한 뷰 컨트롤러를 전환 할 수있는 IBAction를 쓰기 위해 노력하고 있어요 :iOS 개발에서 새로운보기 컨트롤러를 바꾸려면 어떻게해야합니까?

-(IBAction)changeToView2:(id)sender 
{ 
    if (self.view2 == nil) 
    { 
     view2 = [[UIViewController alloc] initWithNibName:@"View2Controller" bundle:[NSBundle mainBundle]]; 
    } 
    self.modalTransitionStyle = UIModalTransitionStyleFlipHorizontal; 
    [self presentedViewController: view2 animated:YES]; 
} 

을 그러나, 나는 어떤 인터페이스를 선언 없다고 지적 빌드 오류 얻고있다 "presentedViewController가 : 애니메이션을". 왜?

"presentViewController : animated :"로 변경하면 같은 오류가 발생합니다.

+0

흥미롭게도, 엑스 코드는 여전히 "눈에 보이는 @interface이 선택 presentViewController를 선언하지 : 애니메이션 :"고 지적 내가 대신 것을 사용하는 경우. 또한 함수 이름을 입력하기 시작하면 자동 완성 기능에이 함수 이름이 언급되지 않습니다. –

+0

또한 '완료 : <#^(void) completion #>'이란 무엇입니까? 마치이 함수에 세 번째 인수가있는 것처럼 보입니다. –

+1

이 코드는보기 컨트롤러 클래스의 일부입니까? 또는보기? 프로젝트 탐색 기반입니까? 즉 navigationController가 있습니까? – Damo

답변

7

방법은 없습니다 present에드,ViewController:animated:

+0

자크 마스크가 너무 안개가 아닙니다! :) –

+1

+1, modalTransitionStyle을 적용하려면 새보기 컨트롤러에 modalTransitionStyle을 적용해야합니다. – danh

+0

고맙습니다.하지만 XCode는 여전히 "보이는 @interface가 selector presentViewController : animated :"를 선언하지 않는다고 말합니다. –

1

대신

[self presentedViewController: view2 animated:YES]; 

의 시도 presentViewController:animated:completion:입니다

[self presentViewController: view2 animated:YES]; 
+0

고맙습니다. 그러나 XCode는 여전히 "보이는 @interface가 selector presentViewController : animated :"를 선언하지 않는다고 말합니다. –

1
[self presentViewController:view2 animated:YES]; 
+0

고맙습니다. 그러나 XCode는 여전히 "보이는 @interface가 selector presentViewController : animated :"를 선언하지 않는다고 말합니다. –

+0

"self"는 UIViewController입니까? – user754905

+0

헤더 파일로 이동하여 여기에 인터페이스를 게시 할 수 있습니까? – user754905

0

시도 편집 한 code.I이 될 것이라고 생각이 당신에게 도움이됩니다.

-(IBAction)changeToView2:(id)sender 
{ 
if (self.view2 == nil) 
{ 
    view2 = [[UIViewController alloc] initWithNibName:@"View2Controller" bundle:nil]; 
} 
self.modalTransitionStyle = UIModalTransitionStyleFlipHorizontal; 
[self presentedViewController: view2 animated:YES]; 
} 
관련 문제