【问题标题】:Changing UIWindow causes SVProgressHUD to not appear更改 UIWindow 导致 SVProgressHUD 不出现
【发布时间】:2014-04-01 10:10:23
【问题描述】:

我在我的应用程序中使用了 2 个 UIWindows。在 AppDelegate 中,在方法 didFinishLaunchingWithOptions: 我只是有:

        self.windowStartup = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
        self.windowSplit =  [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];

然后我将 self.windowSplit 设置为 splitViewController,并将 windowStartup 设置为 xib 作为其 rootViewController。 如果我从 didFinishLaunchingWithOptions: 中加载 windowSplit,则 SVProgressHUD 效果很好,但是如果我在 didFinishLaunchingWithOptions: 中加载 windowStartup,则调用:

    [self.windowSplit makeKeyAndVisible];

稍后,SVProgressHUD 将无法工作。其他一切都按预期工作。我的愿望是让 SVProgressHUD 为第二个场景工作,但也要找出我做错了什么可能会影响其他任何事情。

关于更多信息,我采用这种方法的原因是我想使用标准拆分视图控制器,但是我想先加载启动视图,而不是只出现在 splitView 的顶部iPad。用户完成设置后,他们可以决定是否希望最初显示启动视图。

提前感谢您的帮助!


编辑: 这是我的启动代码:

   Startup *controller = [[Startup alloc] initWithNibName:@"Startup" bundle:nil];
    self.windowStartup.rootViewController = controller;
    [self.windowStartup makeKeyAndVisible];

【问题讨论】:

  • 如果将windowSplit设置为应用程序的根窗口并将windowStartup放在它上面会发生什么。
  • 谢谢@nsuinteger - 我沿着这条路走了一点,发现如果 windowStartup 曾经显示过,那么 SVProgressHUD 将不起作用。所以,我无法在 windowStartup 上运行 SVProgressHUD,无论我是先加载还是第二次加载。如果我先加载,SVProgressHUD 只能在 splitView 上工作。所以我显然在启动时做错了。我将使用我的启动代码编辑问题

标签: ios objective-c uiwindow svprogresshud


【解决方案1】:

这是一个简单的命名问题。我遇到了 SVProgressHUD 和 ShareKit 的问题。两人都在寻找

    .window 

我的 appDelegate 的属性。我又回到了标准

    UIWindow *window 

它又可以正常工作了。

【讨论】:

    猜你喜欢
    • 2018-06-15
    • 1970-01-01
    • 2011-12-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-03-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多