2017-05-12 9 views
0

私はIOSデザインを初めて利用しています。私はXamarin.IOSでVisual Studio 2017を使ってアプリケーションを作成しています。 ViewControllerのコードビハインドクラスであるデフォルトのViewcontroller.csがあります。このViewControllerのメソッドまたはコントロールを読み書きする別のクラスがあります。私は私が新しいインスタンスを作成する必要があるだろうが、想定した構造は私に新しいですので、どのように、わからない:Xamarin.IOSを使用して別のクラスからパブリックViewController.csを参照する

public partial class ViewController : UIViewController 
{  
    public ViewController(IntPtr handle) : base(handle) 
    { 

    } 

イムわからない何を渡すために?

ViewController vc = new ViewController(?); 

私は長い間VBプログラマであり、C#を学んでいます。

+0

あなたは何をしますか? –

答えて

0

のViewControllerをインスタンス化する最も一般的な方法は次のとおりです。

ViewControllerClassName viewController = Storyboard.InstantiateViewController(nameof(ViewControllerClassName)) as ViewControllerClassName; 

あなたは、そのビューコントローラ内の任意のパブリックメソッドにアクセスするために、またはのようなナビゲーションスタックに渡すオブジェクトのViewControllerを」を使用します。

NavigationController.PushViewController(viewController, true) 
+0

追加する必要がありました:UIStoryboard Storyboard = UIStoryboard.FromName( "Main"、null);しかし、viewcontroller上のどのラベルにもアクセスすることはできません。 .textを設定しようとするときにnull参照を取得します。 ? – Kevin

+0

コントロールのパブリックアクセサを作成しようとする可能性があります。コントロールにアクセスしようとしているビューコントローラー内のpublic UIControl変数を作成し、そのコントロールをviewdidloadに割り当てます。あなたがtableviewcontrollerのプロトタイプセルを作成する方法と似ています – Digitalsa1nt

+0

私は最近6時間のオンラインC#コースを修了しました。これはこれを行う唯一の方法であるようです。 VBでは、フォームをインスタンス化する必要はありませんでした。また、フォームを直接呼び出すことで常に利用可能でした。 – Kevin

関連する問題