2017-01-25 6 views
0

ボタンのクリックで新しいViewControllerを開こうとしています。新しいsecondViewControllerクラスを作成し、その名前をSecondViewControllerに設定しました。また、Navigation Controllerを追加し、RootView Controllerに接続しました。私はそれを実行しようとした場合しかし、私は、次のエラーを取得:enter image description hereXamarinのボタンでviewControllerを変更できません

btn_Next.TouchUpInside += (object sender, EventArgs e) =>{ 

       secondViewController controller = this.Storyboard.InstantiateViewController("SecondViewController") as secondViewController; 
       this.NavigationController.PushViewController(controller, true); 
      }; 

は、私が何かを欠場し、ストーリーボードイドのように同じものである名前でしたか?

答えて

2

あなたはsecondViewControllerのために別のクラスを作成したことはないようです。 は、明示的に新しいUIViewControlle Rクラスを作成してください:

public partial class SecondViewController : UIViewController 
{ 
} 

次に、あなたのストーリーボードで、このクラスにごsecondViewControllerの「クラス」を設定します。

これにより、SecondViewControllerInstantiateViewControllerをキャストできます。

代わりに、あなただけの、このようにコードを変更することができます:あなたがあなたの新しいコントローラ用に別のクラスを持つために気にしない場合は

 btn_Next.TouchUpInside += (object sender, EventArgs e) =>{ 

      var controller = this.Storyboard.InstantiateViewController("SecondViewController"); 
      this.NavigationController.PushViewController(controller, true); 
     }; 

+0

私は新しいUIViewControllerクラスを作成し、クラスをsecondViewControllerに追加し、クラスをSecondViewControllerとしてインスタンス化しました。しかし、私はまだSecondViewControllerが見つからないというエラーを受け取ります。名前で指定しましたが、ストーリーボードIDを設定する方法が見つかりません。 –

+0

ストーリーボード内で(下の余白をクリックして)UIVeiwControllerを選択すると、プロパティタブが開き、「ストーリーボードID」フィールドが表示されます。 "クラス"と "モジュール"の右下 – SuavePirate

+0

ああ、ありがとうございました。私は常にビューを指定したUIViewクラスを作成したので、 "Storyboard id"プロパティは表示されませんでした。 –

関連する問題