這裏有奇怪的事情。我認爲我以前做過,但它似乎不再有效。 環境現在是:Lion,MT 4.1,MD 2.6 RC,Xcode 3的Interface Builder。如何在AppDelegate.cs中使用帶有插座的獨立XIB的UIViewController?奧特萊斯始終爲空
- 我有一個通用的應用程序(從MonoDevelop模板)。
- 我改變它有一個
AppDelegateBase
類,其中iPhone和iPad的應用程序委託都是從這兩個類繼承而來的。 - 有一個MasterController.xib文件包含
UITabBarController
。 - 在IB中,我將此XIB的文件的所有者設置爲
AppDelegateBase
。 - 我增加了一個
UITabBarController
插座並將其連接到相應的控制器。 在MasterController.xib.designer.cs中,我可以看到連接在那裏。這是MasterController.xib.designer.cs樣子:
//基本型大概應該是MonoTouch.UIKit.UIViewController或子類 [MonoTouch.Foundation.Register( 「AppDelegateBase」) 公共部分類AppDelegateBase {
private MonoTouch.UIKit.UITabBarController __mt_oTabBarController; [MonoTouch.Foundation.Connect("oTabBarController")] private MonoTouch.UIKit.UITabBarController oTabBarController { get { this.__mt_oTabBarController = ((MonoTouch.UIKit.UITabBarController)(this.GetNativeField("oTabBarController"))); return this.__mt_oTabBarController; } set { this.__mt_oTabBarController = value; this.SetNativeField("oTabBarController", value); } } }
但在我AppDelegatebase.cs,this.oTabBarController
是總是NULL。這裏有什麼問題? 與以前的項目唯一的區別是,我有一個額外的XIB,其中包含一個控制器,我將在iPhone和iPad中使用,因此不想在iPhone和iPad的XIB中複製。
在我能做到這些之前,我是否必須佈置MasterController.xib?怎麼樣?困惑。
如何MasterController.xib裝? –
一點都不,這就是我所假設的問題。我想我將不得不使用一些LoadNib() - 但是如何? – Krumelur