2012-04-30 10 views
4

は、私は私のiPhoneアプリケーションのビューコントローラを切り替えるIBActionを記述しようとしています:iOS開発で新しいView Controllerを切り替えるにはどうすればよいですか?

-(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

興味深いことに、興味深いことに、XCodeは、「表示されない@interfaceでセレクタpresentViewController:animated:」と宣言しています。また、関数名の入力を開始すると、この関数名は自動補完には含まれません。 –

+0

また、「完了:<#^(void)completion#>」とは何ですか?この関数に3番目の引数があるかのようです。 –

+1

このコードはView Controllerクラスの一部ですか?またはビュー?プロジェクトのナビゲーションはベースですか?つまり、navigationControllerはありますか? – Damo

答えて

7

方法はないpresent編、ViewController:animated:

+0

ジャックあなたのマスクはあまり霧がないです! :) –

+1

+1、modalTransitionStyleを新しいビューコントローラに適用してその効果を確認する必要があります。 – danh

+0

ありがとうございますが、XCodeは "表示されていない@interfaceがセレクタpresentViewController:animated:"を宣言していないことに注意しています。 –

1

代わり

[self presentedViewController: view2 animated:YES]; 

の試みるpresentViewController:animated:completion:ある

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

ありがとうございます。しかし、XCodeは "表示されない@interfaceはセレクタpresentViewController:animated:"を宣言していません。 –

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

ありがとうございます。しかし、XCodeは、 "visible @interfaceがセレクタ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]; 
} 
関連する問題