我正在尝试基于某个事件以编程方式添加另一个子视图(例如,用户点按一个按钮)。
我的问题是我在引用UIWindow的(唯一的)实例时遇到了问题。我从appDelegate到达它,因为MainWindow.xib和appDelegate已连线。但我无法从其他任何地方到达UIWIndow(我无法在IB中绘制该连接,可以吗?)
获取对(唯一的)UIWindow的引用,首选什么技术? ...所以我可以使用我的各种UIViewControllers中的以下代码:
[myOneAndOnlyWindow addSubview:oneOfManyViews.view];
[myOneAndOnlyWindow makeKeyAndVisible];
答案 0 :(得分:6)
您可以在通话后检索指向应用程序关键窗口的指针
[UIApplication sharedApplication].keyWindow
打电话后,窗口变为关键
[window makeKeyAndVisible]
答案 1 :(得分:2)
您可以使用以下代码在任何视图控制器的主窗口中添加视图:
YourAppDelegate *appDelegate = (YourAppDelegate*)[[UIApplication sharedApplication] delegate];
[appDelegate.window addSubView:viewController.view];
您唯一必须注意的是窗口应该被定义为应用程序委托类中的属性。
希望这有帮助。
吉姆。