将 XIB 加载到 ViewController Xamarin?
Load XIB into 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);
}
}
您可以阅读更多内容here。
可以在 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);
}
}
您可以阅读更多内容here。