我正在尝试在 MonoTouch 中使用容器视图,并且正在在线学习一些教程。他们谈论以编程方式从容器中添加和删除视图控制器。我在项目的故事板中创建了一个视图控制器和视图,并附加了一些出口和一个动作(分别用于标签和按钮)。我创建了一个重载的构造
这是我试图将 viewControllers 添加到容器视图中的视图控制器中的代码。
public override void ViewDidLoad ()
{
base.ViewDidLoad ();
ContainerView.AutoresizingMask = UIViewAutoresizing.FlexibleHeight;
_controllerOne = new IngredientsController("Perishables");
_controllerTwo = new IngredientsController("Spices");
AddChildViewController(_controllerOne);
ContainerView.AddSubview(_controllerOne.View);
_controllerOne.DidMoveToParentViewController(this)
}
当我为 _controllerOne 添加子视图时,我收到一个错误,因为我的控制器上的元素被标记为空。如果控制器是在 Interface Builder 中制作的,MonoTouch 是否无法以编程方式创建视图控制器?下面是成分控制器的两个构造函数。使用 segue 时,所有 UI 控件都会正确初始化。我是否需要以编程方式创建控制器,然后以这种方式实例化它?任何帮助,将不胜感激。
//This ctor does not work
public IngredientsController (string title) : base(NSObjectFlag.Empty)
{
_ingredientTitle = title;
}
//This ctor works
public IngredientsController (IntPtr handle) : base (handle)
{
}