问题标签 [keywindow]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
4086 浏览

objective-c - Objective-C Cocoa 中的关键窗口是什么?

什么是关键窗口?它是用来做什么的?我读过它用于“键输入”;但是有人可以扩展一下吗?一个例子将不胜感激。

0 投票
1 回答
908 浏览

ios - ios shareApplication rootviewcontroller.frame Y轴触发器

我有一个 iPad 应用程序,每次显示键盘时,我都会将应用程序的框架“向上”移动。

关键是,在某些设备上这是正确的方式但在其他设备上,它的方向与我想要的相反。它似乎不是特定于硬件的,甚至不是特定于软件的。我已经在 4 台 iPad(两台 ipad1、两台 ipad3 和一台 ipad2)上进行了尝试,全部使用 ios 5.1 (9B176)。有没有办法知道这是否会在设备上发生,以便我可以用逻辑来解决这个问题?

此外,似乎打算这样做的设备也会这样做并保持这种状态(反之亦然)。一旦发生,无论软件更新、设备重启、应用程序删除或 IPA 与从 xcode 运行的情况如何,它总是会发生或不发生。

0 投票
1 回答
754 浏览

objective-c - 禁用与主窗口的交互,而其他窗口处于打开状态

我有一个主窗口,所有工作都在其中完成。当我打开首选项面板时,只要首选项面板打开,我就想冻结主窗口。例如 iTunes:只要我打开首选项,我就可以与首选项面板进行交互,仅此而已。

有没有一种简单的方法来存档这种行为?

0 投票
1 回答
1219 浏览

ios - keyWindow = nil 仅在 iPad 上

我在 iPad 上的应用程序 keyWindow 出现问题。

我为 iPhone 设计了我的应用程序,后来通过设置设备系列和为 iPad 添加新的故事板来添加对 iPad 的支持。到目前为止一切都很好,我可以在 ipad 上打开应用程序,甚至当我为 iPad 定制它时,界面也会显示出来。

现在问题来了:我不知道为什么,但我的应用程序的 iPad 版本没有 keyWindow。我需要它,因为我在开始时会显示一个加载对话框,应该锁定屏幕以进行用户交互,所以我将它添加到主窗口。在 iPhone 上,这工作正常。

我发现“[UIApplication sharedApplication].keyWindow”给了我null,但只在iPad上,而“[[UIApplication sharedApplication].windows objectForKey:0]”给了我窗口对象,它当然必须存在,因为应用程序显示完整的用户界面。

ipad 和 iphone 的源文件当然是完全一样的,但是我想我后来添加 iPad 支持时漏掉了一些东西……

我已经尝试将应用程序委托中的窗口对象手动设置为 makeKeyAndVisible 但没有运气。([self.window makeKeyAndVisible];)

有谁知道我必须做什么才能使其正常工作?

亲切的问候

0 投票
1 回答
4188 浏览

ios - 创建新的 UIWindows,接管关键窗口——不好的做法?

我正在开发一个需要在其他所有内容之上显示叠加层的应用程序。它通过创建一个新的 UIWindow 并使用 makeKeyAndVisble 来“接管”屏幕来做到这一点。完成后,它会将控制权交还给原始 UIWindow。

这是一件坏事吗?感觉就像是在低级别控制应用程序,这通常很糟糕;另一方面,这样做非常简单,所以也许完全可以接受。

意见/经验?

0 投票
1 回答
283 浏览

osx-snow-leopard - 在 OSX 10.6.8 上将窗口设置为假全屏后无法成为关键窗口

我的应用程序最初有一个窗口 (Def)。然后它产生了一个新窗口(New)。所有两个窗口都可以从窗口子菜单项或空间控件切换。

但是,如果我尝试在 OSX 10.6.8 上将“新建”窗口设置为假全屏模式,那么如果我通过菜单或空间控制切换到“默认”窗口,就会出现问题。我无法“完全”切换回“新建”窗口。

“完全”意味着我可以看到“新建”被带到屏幕顶部,但窗口控制器无法收到通知“NSWindowDidBecomeKeyNotification”。此外,通过[NSApp keyWindow],我可以看到关键窗口始终是“Def”。而且我总能看到在 Window 子菜单中选中了“Def”。

有人遇到过这个问题吗?

0 投票
4 回答
2889 浏览

iphone - keywindow 在 ([[[UIApplication sharedApplication] keyWindow] addSubview:myView];) iOS 6 中不起作用

我正在使用以下代码在电影播放器​​控制器上显示一个窗口:

它在 iOS 5 中工作正常,但在 iOS 6 中停止工作。在 iOS 6 中甚至没有显示窗口。所以请你建议我解决这个问题。

谢谢

0 投票
1 回答
244 浏览

iphone - 在 MoviePlayer 全屏 iOS 6 中添加视图

我想mpmovieplayercontroller全屏添加自定义视图(自定义栏)。我尝试了以下代码:

它在 iOS 5 中运行良好,但在 iOS 6 中无法运行。所以请任何人建议我对此提出建议。

谢谢

0 投票
2 回答
1669 浏览

ios - keyWindow 并不总是返回 UIWindow

我一直在[[UIApplication sharedApplication] keyWindow]使用UIView. 然后我将该视图转换为UIImage可使用的视图。除了我同时显示 a 的情况外,这很好用UIAlertView。在这种情况下,keyWindow它不会UIWindow像通常那样返回 a ,而是返回 a UIModalItemHostingWindow,并且在将该视图转换为图像之后,它只是一个纯黑色的屏幕截图。

现在文档说keyWindow“在最近发送 makeKeyAndVisible 消息的 windows 数组中保存 UIWindow 对象。”

UIModalItemHostingWindow一定是由于我正在呈现的模式警报,也许keyWindow是返回该视图而不是整个屏幕。

我的问题是,我怎样才能始终保证我得到一个UIView准确表示屏幕上可见的一切的东西?这似乎keyWindow不是一个好的解决方案。一种解决方法是延迟我抛出的所有可能的警报,但如果可能的话,我想找到一个更好的解决方案

0 投票
1 回答
427 浏览

ios - 视图不在窗口层次结构中

我在最新的测试版 iOS 8 上遇到了一个奇怪的问题。与 iOS7 相反,我的视图正在从窗口层次结构中消失——基本上我会UINavigationController在某个时候用新的视图替换我的视图。这段代码在 iOS 8 之前没有问题,知道为什么吗?如果我将 - 添加UINavigationControllerkeyWindow- 它实际上绕过了这个问题,并且视图实际上“停留”在窗口层次结构中:

但我不喜欢这种“黑客”。