将 XIB 加载到 ViewController Xamarin 中



是否可以在 xamarin 中从自定义 XIB 创建和加载视图?在Objective-C中是这样的:

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

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 = arr.GetItem<MyView>(0);
            return v;
        }
    }

3 - 将MyView添加到ViewController

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);
    }
}

您可以在此处阅读更多内容。

最新更新