繁体   English   中英

Monotouch:异步加载XIB

[英]Monotouch: load XIB asynchronously

我想知道调用外部XIB的正确方法是什么。

MonoTouch.Foundation.NSBundle.MainBundle.LoadNib方法以同步方式加载XIB,但是,以这种方式,我无法覆盖ViewDidLoad方法。

特别是,我的目标是创建一个自定义UIViewController并加载在IB中创建的XIB(此元素是附加到Superview的项)。 然后,我将在自定义UIView上附加一个轻UIView 如果不重写ViewDidLoad方法,我将无法做到。

我如何找到一个好的教程来理解所有可以用于UIViewController的不同构造函数?

例如,您能否解释这些因素?

public MyCustomView (IntPtr handle) : base(handle)
{
    Initialize ();
}

[Export("initWithCoder:")]
public MyCustomView (NSCoder coder) : base(coder)
{
    Initialize ();
}

public MyCustomView () : base("MyCustomView", null)
{
    //---- this next line forces the loading of the xib file to be synchronous
    MonoTouch.Foundation.NSBundle.MainBundle.LoadNib ("MyCustomView", this, null);
    Initialize ();
}

非常感谢你。 最好的祝福。

在我看来,您尝试做的概念就像在CocoaTouch中更改默认事件和动作流的行为。

事实是,ViewDidLoad正是您应进行初始化的地方,而不是在构造函数本身中,而是将NIB加载在框架上,仅按预期方式处理ViewDidLoad。

确实有助于阅读苹果的开发文档,这在开始时对我有很多帮助: https : //developer.apple.com/library/ios/#featuredarticles/ViewControllerPGforiPhoneOS/BasicViewControllers/BasicViewControllers.html

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM