- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
keyWindow什么时候创建?
我认为 NSWindow 会在调用相应 View Controller 的 updateView 方法之前创建(我调用该方法是为了响应 awakeFromNib),但是如果我使用 NSApp 的 keyWindow 创建警报表,它不会正确显示。
但是,如果我在该 View 上放置一个按钮,然后在用户单击它时弹出警报,则定义了 keyWindow,并且警报正确显示(如预期)。
我的应用程序委托(delegate)几乎完全是空的。
我实际上不想在启动时显示警报,但我确实想知道关键窗口何时设置。 :)
最佳答案
When does the keyWindow get created?
-[NSApp keyWindow]
指向当前是关键窗口的现有窗口(例如,已从 nib 文件加载的窗口),通常通过发送 -makeKeyAndOrderFront 来实现:
。
当应用程序启动时,Cocoa:
-awakeFromNib
到 nib 文件对象(的子集);如 Resource Programming Guide 中所述.
如果 nib 文件包含单个窗口,则该窗口在显示时将成为关键窗口,前提是它可以成为关键窗口,并且这种情况发生在 -awakeFromNib
发送之后 .
此外,the documentation for -[NSApplication keyWindow]
指出:
This method might return
nil
if the application’s nib file hasn’t finished loading yet or if the receiver is not active.
关于cocoa - NSApp的keyWindow是什么时候创建的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6645310/
[NSApp beginSheet] 的使用方式如下: [NSApp beginSheet:[testSheetController window] modalForWindow:[NSApp
我正在尝试在我的应用程序中显示自定义工作表,但我认为我做错了什么。虽然一切似乎都工作得很好,但我有一个相当奇怪的副作用。 (花了几个小时才弄清楚)。事实证明,每次我在应用程序中显示工作表时,应用程序委
我已将其分解为一个非常小的项目。在应用程序委托(delegate)中使用以下代码: - (void)applicationDidFinishLaunching:(NSNotification *)aN
这就是我正在尝试做的事情。我需要提示用户输入密码提示,直到他输入密码并点击工作表上的 Enter 按钮,我想防止在后台解析代码。以下是运行该工作表的代码,当用户输入密码并按 Enter 键时,将运行
我是一个彻头彻尾的 Cocoa 新手。 现在,我的简单 Hello World 应用程序在从 main() 调用 [NsApp run] 后被阻止。 我需要的只是创建一个窗口而不是阻止 main()。
在 IB 中,很容易将标签或文本字段绑定(bind)到某些 Controller 的 keyPath。 NSDockTile(可通过 [[NSApp dockTile] setBadgeLabel:@
如何创建一个在用户登录后启动的 Helper NSApp? 不必经过 AppStore 证明... 最佳答案 要在登录时启动应用程序,您只需使用您的 bundle ID 和 bool 值调用 SMLo
我有一个推送通知,其中启用了徽章、声音和警报。如果程序没有运行 - 一切都很好。但是当程序运行时 - 我需要阻止所有不是由程序生成的声音、警报和徽章,因为我与我的服务器有实时连接,并在 APNS 向我
如果我的应用中有延迟代码执行: DispatchQueue.main.asyncAfter(deadline: DispatchTime.now() + .seconds(20), qos: .bac
我一直在寻找如何以编程方式终止我的应用程序。我在许多主题中发现人们使用 NSApp terminate:id。 在 Xcode 中 terminate:id 被划掉了。这种方法被弃用了吗?我应该用它来
如何检查 NSApp 是否有模态模式? 停止模态窗口 [NSApp stopModal]; 但我没有看到属性检查当前应用程序状态是否为模态? 最佳答案 检查 NSApp 上的 modalWindow
感谢您的帮助。需要有关修复 10.11 中调用表代码的指导。 当前和已弃用的代码: [NSApp beginSheet:customPanel modalForWindow:[_sourceTabVi
我在网上查找了如何退出应用程序,发现了很多相互矛盾的答案。不同的人提出了以下建议,每个人都有不同的理由: exit(0); [NSApp terminate:self]; [NSApp termina
所以我在这里有点困惑。我有一个 Cocoa 应用程序,在 appdelegate header 中,我声明了一个已在 Interfacebuilder 中连接的 NSDrawer,并且我根据上下文以编
这是代码: @interface AppDelegate : NSObject @end @implementation AppDelegate - (void)applicationDidFini
这是一个最小的可复制示例,如果阅读时间太长,请转到问题所在的下一部分,然后在需要时探索代码。 最小的例子: 假设一个简单的 C++ 命令行: 主程序 #include #include "Wrapp
很难说出这里问的是什么。这个问题模棱两可、含糊不清、不完整、过于宽泛或言辞激烈,无法以目前的形式合理回答。如需帮助澄清此问题以便可以重新打开,visit the help center . 9年前关闭
Mac 版 UIKit 我正在探索 Xcode 11 和 macOS Catalina 的新可能性,以使用 UIKit 创建 iPad 应用程序的 Mac 版本。通常按预期工作。 在 macOS 上的
当我学习如何自己启动 NSApplications 时,我使用的代码(基于 here 和 here )做到了 [NSApp activateIgnoringOtherApps:YES]; 这会在启动时
我是一名优秀的程序员,十分优秀!