将XIB加载到ViewController Xamarin中?

问题描述 投票:5回答:1

可以从xamarin中的自定义XIB创建和加载视图吗?在Objective-C中就像:

self.viewController = [[ViewController alloc] initWithNibName:@"ViewController" bundle:nil];
self.window.rootViewController = self.viewController;
view xamarin xib nib
1个回答
9
投票

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

你可以阅读更多here

© www.soinside.com 2019 - 2024. All rights reserved.