手动实例化一个视图...黑屏
问题描述:
我正在尝试做一个视图的手动实例化,我得到的只是一个黑屏。手动实例化一个视图...黑屏
这里是我的FinishedLoading的核心
currentController = new ChoicesScreen(this.window.Handle);
window.AddSubview (currentController.View);
window.MakeKeyAndVisible();
注:CurrentController是protected UIViewController currentController
ChoicesScreen在IB定义,具有正确的网点,动作等换句话说,它是一个有效的视图。
我尝试了ChoicesScreen的默认构造函数,并得到了同样的结果。显然,我错过了如何让自己的屏幕出现。
答
德里斯,
您需要设置新视图框架,定义它会在视图中显示:
你currentController = new ChoicesScreen(this.window.Handle);
currentController.View.Frame = new System.Drawing.RectangleF(0, 0, 320, 480);
window.AddSubview (currentController.View);
window.MakeKeyAndVisible();
问题,对于每一个导致另一个视图以查看被添加到顶部,我必须使用原始窗口句柄和原始窗口.AddSubView或我如何堆叠它们? – 2010-01-19 17:37:59
不知道我是否正确理解你的问题,但你只需要将顶部视图添加到窗口中,只需要一次(通常在AppDelegate中)。 之后,您可以使用AddSubview方法将多个视图(以及控件,如按钮和标签)添加到您创建的第一个视图中。 – 2010-01-19 19:32:51
但视图本身没有AddSubView方法,对吧?那么有没有一种方法可以让任何视图访问窗口对象,以便他们可以使用要呈现的另一个视图的AddSubView?例如在Main.cs中我们有AddSubview(firstView),firstView上的用户按下一个按钮来调出secondView,有没有办法访问窗口对象来做window.AddSubview(secondView)? – 2010-01-24 03:32:26