- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
在 Xcode 5.0.2 中设置要显示为模式表的 NSAlert
对象时,我遇到了一个有趣的惊喜。
我计划使用 beginSheetModalForWindow:modalDelegate:didEndSelector:contextInfo:
当我开始输入它时,Xcode 会为我自动填充 beginSheetModalForWindow:completionHandler:
(尽管我在任何 NSAlert
文档中找不到它)。
我更喜欢使用完成处理程序而不是委托(delegate)/选择器作为回调机制,所以我继续尝试。我惊喜地发现它运行得非常好。
在我做出 promise 之前先问三个简单的问题。
我在文档中遗漏了什么吗?
如果此功能未记录,使用该功能是否“安全”? (即它会像它出现时一样神秘地消失吗?)
我不想根据我通过日志记录看到的内容对响应值进行硬编码。有人知道“正确的”NS...Button
常量吗?
最佳答案
这个调用是“安全的”,但只有 10.9+。这是来自头文件的内容:
#if NS_BLOCKS_AVAILABLE
- (void)beginSheetModalForWindow:(NSWindow *)sheetWindow completionHandler:(void (^)(NSModalResponse returnCode))handler NS_AVAILABLE_MAC(10_9);
#endif
看来他们只是不小心将其排除在当前文档之外。不过,标题通常被认为是 Cocoa 中的“真相”——它们权威地告诉您哪些内容已弃用,哪些内容是新增的。 (例如,与 X11 不同,在 X11 中,文档被声明在实际实现或 header 中是正确的。)
这些是您要在completionHandler block 中使用的常量:
/* These are additional NSModalResponse values used by NSAlert's -runModal and -beginSheetModalForWindow:completionHandler:.
By default, NSAlert return values are position dependent, with this mapping:
first (rightmost) button = NSAlertFirstButtonReturn
second button = NSAlertSecondButtonReturn
third button = NSAlertThirdButtonReturn
buttonPosition 3+x = NSAlertThirdButtonReturn + x
Note that these return values do not apply to an NSAlert created via +alertWithMessageText:defaultButton:alternateButton:otherButton:informativeTextWithFormat:, which instead uses the same return values as NSRunAlertPanel. See NSAlertDefaultReturn, etc. in NSPanel.h
*/
enum {
NSAlertFirstButtonReturn = 1000,
NSAlertSecondButtonReturn = 1001,
NSAlertThirdButtonReturn = 1002
};
关于cocoa - NSAlert 开始SheetModalForWindow :completionHandler:,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21058670/
我需要根据另一个 NSAlert 的响应来调出一个 NSAlert。但是,当我尝试从第一个的 didEndSelector 调用它时,会发生各种令人讨厌的事情(例如我的文档窗口消失以及有关打印到控制台
我需要在应用程序的第 3 次、第 10 次和第 20 次启动时显示 NSAlert,到目前为止我已尝试过: /* Note that the kLaunchCount is incremented a
Apple 最初的 HIG(遗憾的是,现已从网站上消失)指出: 对话框中最右边的按钮(操作按钮)是确认警报消息文本的按钮。操作按钮通常(但并非总是)是默认按钮 就我而言,我有一些破坏性操作(例如删除磁
我正在创建一个全屏应用程序,并且想知道是否有某种方法可以使 NSAlert 位于我创建的 CGDisplayCapture 之上。现在,NSAlert 显示在显示捕获后面。我的主窗口显示得很好(在使用
我有一个带有附件 View 和三个按钮的 NSAlert,这些按钮没有向右对齐(对于 LTR 系统),但似乎扩展到附件 View 的宽度,如下所示 同时删除附件 View ,三个按钮未正确对齐在右侧
我正在创建 Mac OS X 应用程序,并且在 NSAlert 上格式化字符串时遇到一些问题。我希望信息文本的格式如下: 某事某事某事 --------中间加粗--------- 其他事情其他事情其他
如果您在应用程序处于后台时发出 NSAlert,您的 Dock 图标就会开始弹跳,并持续弹跳,直到您切换回来。 我觉得这很烦人。 有谁知道如何为单个应用程序禁用它? 最佳答案 创建您自己的 NSApp
如何打印下面的数组以显示完整的字符串? alert.informativeText = CommandLine.arguments[4] 如果是一个单词,则打印效果很好。参数测试 Test 但是,如果
我正在尝试创建一个带有 2 个按钮的 NSAlert。 let a = NSAlert() a.messageText = "Do you want go to A or B?"
我想用beginSheetModalForWindow创建一个NSAlert,在NSWarningAlertStyle、NSInformationalAlertStyle之间的alertstyle中没
我有一个带有两个按钮的 NSAlert: var al = NSAlert() al.informativeText = "You earned \(finalScore) points" al.me
我发现一个有趣的事情:当我使用“浏览”按钮选择一个文件时,如果该文件已经存在,NSAlert会导致自动更改面板,但我想自己做这个,如何禁用NSAlert的自动更改面板?非常感谢! 最佳答案 您需要实现
我正在使用 NSAlert 要求用户启用辅助设备的辅助功能。是否有可能有一个不关闭 NSAlert 的按钮,我可以用它来打开 UniversalAccess prefpane ? 如果没有,我想我必须
我正在编写一个带有首选项面板的超酷应用程序。如果用户打开首选项面板,更改其首选项,然后关闭面板而不保存这些更改,她将收到 NSAlert,通知她可怕的后果。 NSAlert 工作表有两个按钮:“确定”
如何在 NSAlert 中添加斜体文本的某些部分? NSAlert *alert = [NSAlert alertWithMessageText:NSLocalizedString(@"Warnin
有没有办法在 NSAlert 中插入自定义图标?我知道您可以有不同的 prefabbealert 样式,但是可以 cu 最佳答案 是的。您可以使用 - (void)setIcon:(NSImage *
在 Xcode 5.0.2 中设置要显示为模式表的 NSAlert 对象时,我遇到了一个有趣的惊喜。 我计划使用 beginSheetModalForWindow:modalDelegate:didE
我有一个从 NSStatusItem 显示的 NSPopover。这个 Popover 会时不时地显示 NSAlerts。问题是这些警报总是出现在弹出窗口下方,即使它们成为关键窗口。即使我拖动它,它仍
当我显示这样的 NSAlert 时,我立即得到响应: int response; NSAlert *alert = [NSAlert alertWithMessageText:... ...]; re
NSAlert 的默认外观似乎不太理想。例如,当我单击复选框时,该复选框会消失,并且聚焦的按钮具有白色文本。 [编辑]我应该提到这是一个 Metal 应用程序。 以下是创建 NSAlert 的代码(使
我是一名优秀的程序员,十分优秀!