【问题标题】:iphone, multiple uiwindows in one iphone applicationiphone,一个iphone应用程序中的多个uiwindows
【发布时间】:2011-02-24 08:14:37
【问题描述】:

嗨 我是一个 iphone 新手,所以对 UIWindow 概念有点困惑。在 Mac 上,我猜我们可以在一个应用程序中使用多个 NSWindows。但是在 iphone 中,我们可以在一个 iphone 应用程序中使用多个 UIWindows。具体来说,我的应用程序中有 3 个 xib 文件: 1.主窗口.xib 2.ViewController(加上appDelegate) 3. MyCustomViewController... 其中我想在该窗口中使用 UIwindow 和多个视图。

现在我的问题是我已经在 MainWindow.xib 中使用 UIWindow,我可以在 MyCustomeViewController.xib 中使用另一个 UIWindow 吗???

最好的问候

【问题讨论】:

    标签: iphone uiview interface-builder uiwindow


    【解决方案1】:

    根据文档,您不需要也不应该在 iPhone 上使用多个窗口。

    您需要更改当前显示在屏幕上的视图控制器。

    从您的 ViewController 中,您可以采取各种方式来呈现 MyCustomViewController: 1. 使用 UINavigationController 的方法 - (void)pushViewController:(UIViewController *)viewController animated:(BOOL)animated 如果您将 ViewController 放在导航控制器中。

    1. 使用 - (void)presentModalViewController:(UIViewController *)modalViewController animated:(BOOL)animated 方法的 UIViewController 类。

    在你的 ViewController 方法中类似于下面的东西:

    MyCustomViewController *vc = [MyCustomViewController new];
    [self presentModalViewController: vc animated: YES];
    [vc release];
    

    详细讨论请参阅“iOS 视图控制器编程指南”:http://developer.apple.com/library/ios/#featuredarticles/ViewControllerPGforiPhoneOS/Introduction/Introduction.html

    【讨论】:

      【解决方案2】:

      您不需要使用另一个窗口,只需在可用的 UIWindow 上不断交换视图即可。

      【讨论】:

      • 那很好......但是请你解释一下我该怎么做?
      • 好吧..在 Iphone 上,我们的屏幕空间非常有限,不像桌面...虽然我认为您可以根据需要创建多个 UIWindow 实例,但通常最好的做法是只使用一个UIWindow...文档中的应用程序编程指南声明相同......
      • 我创建了一个视图并作为 [UIWindow addSubview:myView] 添加到 UIwindow,但后来我创建了另一个视图并希望将其添加到 UIWindow...(在其他一些类中)。所以在另一个类中,我得到了一个带有 [[UIApplication sharedApplication] delegate] 的应用程序委托实例;并添加另一个视图......然后使用 [[UIWindow makeKeyAndVisible] 但我的另一个没有出现在 UIWindow 中......我该怎么做?我认为这可能是一个非常奇怪的问题,.. 但抱歉
      【解决方案3】:

      这不是 iOS 应用的标准方法。

      如果您仍然想这样做,请参阅此答案

      Advantages, problems, examples of adding another UIWindow to an iOS app?

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2010-11-11
        相关资源
        最近更新 更多