2016-06-11 64 views
2

可以創建並加載Xamarin中的自定義XIB視圖? 在Objective-C是這樣的:將XIB加載到ViewController Xamarin中?

self.viewController = [[ViewController alloc] initWithNibName:@"ViewController" bundle:nil]; 
self.window.rootViewController = self.viewController; 

回答

1

1 - 創建您的XIB文件(例如MyView的)。

2 - 在有關XIB文件的.cs添加此靜態方法的創造者:

partial class MyView : UIView 
    { 
     public MyView (IntPtr handle) : base (handle) 
     {  
     } 

     public static MyView Create() 
     {  
      var arr = NSBundle.MainBundle.LoadNib ("MyView", null, null); 
      var v = Runtime.GetNSObject<SomeView> (arr.ValueAt(0)); 

      return v; 
     } 
    } 

3 - 添加MyViewViewController

public partial class ViewController : UIViewController 
{ 
    MyView v; 
    public ViewController (IntPtr handle) : base (handle) 
    { 
    } 

    public override void ViewDidLoad() 
    { 
     base.ViewDidLoad(); 

     v = MyView.Create(); 
     v.Frame = View.Frame; 
     View.AddSubview (v); 
    } 
} 

你可以閱讀更多here

+0

靜態方法創建不是靜態構造函數。 – Grigory

+0

這裏的想法是通過靜態方法創建xib,而不是從靜態構造函數創建。 – jzeferino

+0

我知道。你寫道Create方法是一個靜態構造函數。事實並非如此。這是一個來自C#視角的普通靜態方法。 – Grigory

相關問題