jjzjj

keywindow

全部标签

iphone - 如何找到根 UIViewController

我有一个View,它是处理广告的UIViewController(root)和一个UINavigationController。在那个UINavigationController中,我有典型的Controller层。在我的自定义设置TableViewController中,我有一个按钮可以联系我以获得支持。当用户单击此按钮时,我创建了一个MFMailComposeViewController并想展示它。我无法从设置TableView中显示它,因为它将位于我的广告下方,因此我需要引用RootView并从那里显示它。我试过self.parentViewController.parentVi

swift - 使用导航栏注意事项获取屏幕中心

我正在尝试将UIActivityIndi​​cator居中并在我的应用程序中重用它。我面临一个问题,我的某些View必须位于导航栏下方,而另一些则不是。这恰好使我的事件指示器在View不在导航栏下方的View上显示低于中心。例如:StackOverflow上的所有答案似乎都属于图片#2。我只是对UIView进行了扩展,通过将其添加为subview覆盖来显示和隐藏事件指示器。检查StackOverflow上的多个帖子,我没有发现任何可以重复这个问题的内容。我的问题是,在生产应用程序中,如何仅使用一个功能在这两种情况下成功地将此View居中,但仍支持回到9.3的IOS版本

swift - 使用导航栏注意事项获取屏幕中心

我正在尝试将UIActivityIndi​​cator居中并在我的应用程序中重用它。我面临一个问题,我的某些View必须位于导航栏下方,而另一些则不是。这恰好使我的事件指示器在View不在导航栏下方的View上显示低于中心。例如:StackOverflow上的所有答案似乎都属于图片#2。我只是对UIView进行了扩展,通过将其添加为subview覆盖来显示和隐藏事件指示器。检查StackOverflow上的多个帖子,我没有发现任何可以重复这个问题的内容。我的问题是,在生产应用程序中,如何仅使用一个功能在这两种情况下成功地将此View居中,但仍支持回到9.3的IOS版本

ios - 为什么窗口在 AppDelegate 中为零

我需要从AppDelegate显示ViewController,所以我写了下面的代码:letstoryboard=UIStoryboard(name:"Main",bundle:nil)letauthViewController=storyboard.instantiateViewControllerWithIdentifier("ViewController")asViewControllerifletkeyWindow=UIApplication.sharedApplication().keyWindow{keyWindow.rootViewController=authViewC

ios - 为什么窗口在 AppDelegate 中为零

我需要从AppDelegate显示ViewController,所以我写了下面的代码:letstoryboard=UIStoryboard(name:"Main",bundle:nil)letauthViewController=storyboard.instantiateViewControllerWithIdentifier("ViewController")asViewControllerifletkeyWindow=UIApplication.sharedApplication().keyWindow{keyWindow.rootViewController=authViewC

ios - keyWindow 顶部的叠加 View 快速消失(iOS)

启动时,我的应用会检查更新。如果可用,我会尝试使用以下指令将叠加View相互叠加:[[[UIApplicationsharedApplication]keyWindow]addSubview:overlay];叠加View出现但很快消失,而我想在更新过程结束时将其删除。相反,如果我将叠加View添加为当前View的subview,则叠加View将保持在顶部,直到更新过程完成。我必须将覆盖View放在keyWindows之上,因为我的应用程序有一个标签栏,所以如果我将覆盖View放在当前View的顶部,如果用户点击另一个项目,覆盖View将消失标签栏。可能是因为我使用NSInvocati

ios - keyWindow 并不总是返回 UIWindow

我一直在使用[[UIApplicationsharedApplication]keyWindow]以UIView的形式获取屏幕的可见View。然后,我将该View转换为要使用的UIImage。除了我同时显示UIAlertView的情况外,这工作得很好。在这种情况下,keyWindow不会像往常一样返回UIWindow,而是返回UIModalItemHostingWindow,并且在将该View转换为一个图像它只是一个纯黑色的屏幕截图。现在文档说keyWindow“将UIWindow对象保存在最近发送makeKeyAndVisible消息的窗口数组中。”这UIModalItemHosti

ios - Swift iOS - 如何在两个 UIWindows 之间切换/切换并制作 keyWindow

我创建了一个额外的UIWindow,它将显示在主窗口的顶部。用户按下一个按钮,它就会在主窗口上转换。用户可以最小化附加窗口,它将位于tabBar上方,如下图所示。他们可以将其放大以覆盖主窗口或将其关闭并销毁。它工作正常。我还创建了一个从屏幕底部启动的自定义操作表。如果附加窗口完全覆盖主窗口并且启动操作表,它将在附加窗口内完美启动。如果附加窗口不在屏幕上,它会在主窗口内完美启动。问题是,如果附加窗口在屏幕上最小化,而我想从主窗口启动操作表,则操作表会在附加窗口内启动,它无法区分两者。我打开3D可视化器,它显示主窗口关闭,附加窗口打开。显示自定义操作表时如何区分两个窗口?顺便说一句,如果两

swift - NSApplication keyWindow 在 applicationDidFinishLaunching 期间为 nil

从一个空白的OSX应用程序项目开始,我将以下代码添加到applicationDidFinishLaunching。funcapplicationDidFinishLaunching(aNotification:NSNotification){letapp=NSApplication.sharedApplication()guardletwindow=app.keyWindowelse{fatalError("NokeyWindow\n")}print(window)}在启动时,我遇到了错误情况,因为我的本地window变量为nil。然而,当我显示app变量的内容时,我看到了_keyWi

ios - 如何正确处理 nil UIApplication.sharedApplication().keyWindow

当viewDidLoad被调用时,View应该被加载。但我总是在UIApplication.sharedApplication().keyWindow为nil时崩溃...我应该把我的代码放在哪里,以便在加载View后调用它,而不是每次用户返回时调用它(出于这个原因,我已经排除了viewWillAppear)? 最佳答案 情况1:-在App的委托(delegate)中手动创建UIWindow在将其设置为键之前,您可能以某种方式将UIViewController添加到UIWindow中。您应该在创建窗口后在应用的委托(delegate)