如何从子UIViewControllers引用UIWindow?

时间:2010-06-16 11:03:01

标签: iphone

我正在尝试基于某个事件以编程方式添加另一个子视图(例如,用户点按一个按钮)。

我的问题是我在引用UIWindow的(唯一的)实例时遇到了问题。我从appDelegate到达它,因为MainWindow.xib和appDelegate已连线。但我无法从其他任何地方到达UIWIndow(我无法在IB中绘制该连接,可以吗?)

获取对(唯一的)UIWindow的引用,首选什么技术? ...所以我可以使用我的各种UIViewControllers中的以下代码:

[myOneAndOnlyWindow addSubview:oneOfManyViews.view];
[myOneAndOnlyWindow makeKeyAndVisible];

2 个答案:

答案 0 :(得分:6)

您可以在通话后检索指向应用程序关键窗口的指针 [UIApplication sharedApplication].keyWindow  打电话后,窗口变为关键 [window makeKeyAndVisible]

答案 1 :(得分:2)

您可以使用以下代码在任何视图控制器的主窗口中添加视图:

YourAppDelegate *appDelegate = (YourAppDelegate*)[[UIApplication sharedApplication] delegate];
[appDelegate.window addSubView:viewController.view];

您唯一必须注意的是窗口应该被定义为应用程序委托类中的属性。

希望这有帮助。


吉姆。