如何在 Mavericks 中打开 NSSheet?

2024-01-06

在 Mavericks 中,打开和关闭 NSSheets 的方法已更改。为了让事情变得更加艰难,发行说明 https://developer.apple.com/library/mac/releasenotes/AppKit/RN-AppKit/index.html#//apple_ref/doc/uid/TP30000741-CH2-SW7与当前文档不匹配(见下文)。

我正在尝试这样做:

MainSheetController(NSWindowController):

-(IBAction)callSheet:(id)sender {
    [sheetController openSheet];
}

SheetController(NSObject):

 (void)openSheet {  
    [[NSBundle mainBundle] loadNibNamed:sheetName owner:self topLevelObjects:nil];
    NSLog(@"1");
    [self.mainWindowController.window beginSheet:self.sheet completionHandler:nil];
    NSLog(@"2");    
}

我到了 2,没有错误或警告,但没有工作表。

当前文档:

#if NS_BLOCKS_AVAILABLE
- (void)beginSheet:(NSWindow *)sheetWindow completionHandler:(void (^)(NSModalResponse returnCode))handler NS_AVAILABLE_MAC(10_9);
- (void)beginCriticalSheet:(NSWindow *)sheetWindow completionHandler:(void (^)(NSModalResponse returnCode))handler NS_AVAILABLE_MAC(10_9);
#endif

- (IBAction)userButtonPressed:(id)sender {

    UserLoginWindowController * wc = [UserLoginWindowController new];
    // we keep a reference, so the WC doesn't deallocate
    self.modalWindowController = wc;

    [[self window] beginSheet:[wc window] completionHandler:^(NSModalResponse returnCode) {
        self.modalWindowController = nil;
    }];

}

在用户登录窗口控制器中

- (IBAction)cancelButtonPressed:(id)sender {

    [[[self window] sheetParent] endSheet:[self window] returnCode:NSModalResponseCancel];

}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 Mavericks 中打开 NSSheet? 的相关文章

  • 使用 NSCoder 编码 CGPoint 结构

    如何编码和解码CGPoint结构使用NSCoder 编码 CGPoint point point from somewhere NSValue pointValue NSValue value point withObjCType enco
  • Objective-C 字符串文字的预处理器宏值

    我在构建设置中定义了一个预处理器宏 FOO BAR 我想将该值转换为可以传递给方法的 Objective C 字符串文字 以下 define 不起作用 但它应该展示我想要实现的目标 define FOOLITERAL FOO want FO
  • Cocoa Accessibility API,我可以单击后台窗口而不激活它吗?

    我一直在寻找解决这个问题的方法 所以我想我应该寻找比我更伟大的头脑 我正在开发一个 Cocoa 应用程序 它使用 Accessibility API 来操作另一个程序 它是一个热键应用程序 我控制的应用程序通常会打开多个窗口 其中一些窗口隐
  • WebView 不运行 loadHTMLString 中给出的 JavaScript

    我不明白为什么这不起作用 我的桌面上有一个 test htm 文件 如下所示 This is x 2 我有一个 WebVie
  • 使用 Swift 创建 NSAlert

    我有在 Objective C 中创建和 NSAlert 的代码 但我现在想在 Swift 中创建它 该警报旨在确认用户想要删除文档 我想要 删除 按钮来运行删除功能 而 取消 按钮只是为了消除警报 我怎样才能用 Swift 写这个 NSA
  • 为什么在 10.5 上我必须在 NSWindowController 上调用 showWindow 两次?

    我有一个 NSWindowController 的子类 我用它从笔尖加载窗口并将其显示在屏幕上 下面是当我想显示窗口时调用的代码 在 10 6 上 当调用 showCustomWindow 时 会显示窗口 但在 10 5 上 必须调用此方法
  • 如何用Block简化回调逻辑?

    假设我需要与一个提供协议的类进行通信 并在操作完成时调用委托方法 如下所示 protocol SomeObjectDelegate required void stuffDone id anObject void stuffFailed e
  • 无法按住 CTRL+拖动 NSButton 到自定义 NSView 标题

    我想创建一个自定义的NSTableCellView由 Interface Builder 实例化 我已将 Table Cell View 类设置为MyTableCellView 并正确创建MyTableCellView NSTableCel
  • Swift 中带圆角的 NSWindow

    我想要一个圆角的窗户 但我在每个角落都有一个白点 Code let effect NSVisualEffectView frame NSRect x 0 y 0 width 0 height 0 effect blendingMode be
  • NSView 中 CALayers 的简单示例

    我正在尝试将多个 CALayer 添加到 NSView 但显示时我的视图仍然为空 这是我的代码 id initWithFrame NSRect frame self super initWithFrame frame if self sel
  • 在 Cocoa Mac OSX 中设置 FirstResponder 时出现问题

    我正在开发一个小应用程序只是为了学习可可 并且我很难将 FirstResponder 设置为某些 NSTextFields 当视图打开时 我希望选择第一个 NSTextField clientNumber 因此我在 loadView 方法末
  • OS X Cocoa 自动布局隐藏元素

    我正在尝试使用新的自动布局 http developer apple com library mac documentation UserExperience Conceptual AutolayoutPG Articles Introdu
  • 为什么这段代码不能产生正确的输出? [关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 给定一个字符串和一个数字 该函数将从
  • 从沙箱中的帮助应用程序读取 NSUserDefaults

    我找到了一些阅读资源NSUserDefaults另一个应用程序的 Objective C NSUserDefaults 缓存会阻止其他应用程序准确读取更改 https stackoverflow com questions 10667848
  • NSRunningApplication - 终止

    我将如何使用NSRunningApplication 我有与启动应用程序相反的东西 NSWorkspace sharedWorkspace launchApplication appName 但我想关闭一个 当我调试代码时出现错误NSRun
  • 如何设置 NSButton OSX 的背景颜色

    我想设置 NSButton 的背景颜色 属性检查器中没有任何内容 所以我想知道是否有任何方法可以以编程方式完成此操作 系统控件需要遵循 Apple 的外观和感觉 因此您无法轻松更改背景颜色 如果你想完成这个 你需要子类化 NSButton
  • 继承属性,从 readonly 继承的属性中读写时不会合成 setter

    我在使用属性时发现了一个奇怪的行为 该属性被继承为只读 然后在继承的类中重新声明为读写 In A h interface A NSObject property nonatomic strong readonly NSObject some
  • Core Data 与 SQLite 3 [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • iCloud Drive 内用户选择的文件夹内的垃圾文件

    我的应用程序可在任何用户选择的文件夹内处理用户 txt 文件 创建 更改 删 除 我只是在内部存储书签以访问用户选择的文件夹和文件 现在 在 macOS Catalina 中 当源文件夹位于 iCloud Drive 内时 系统仍然允许我创
  • 如何构建 Objective-C 静态库? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我有一些 Objective C 类 目前在 Cocoa 应用程序 Mac OS X 和 Cocoa Touch 应用程序 iOS 中

随机推荐

  • access()有什么问题? [复制]

    这个问题在这里已经有答案了 可能的重复 access 安全漏洞 https stackoverflow com questions 7925177 access security hole 我引用手册页访问 2 Warning Using
  • 从以编程方式创建的 tableViewCell 中删除图像

    我想移动单元格上包含的 imageView 并且它可以工作 但在新位置创建新图像并保留旧图像 然后显示两个 我怎样才能删除旧的 使用的代码 UIImage cellImage UIImage imageNamed showIconName
  • SDL 窗口似乎被操作系统错误地标记为“无响应”

    我有一个通过 Derelict 3 访问的 SDL2 窗口 它应该是黑白频闪 不是因为我讨厌癫痫病患者 而且它成功地做到了这一点 然而 在一段时间后 Ubuntu 13 10 将窗口标记为 无响应 将其变灰 并使频闪效果变暗 这非常令人恼火
  • 使用 ui-grid 常量禁用滚动条

    使用最新版本的 ui grid v3 0 0 rc 16 可以单独关闭水平和垂直滚动条 我通过交换得到了这个工作 scope gridOptions enableScrollbars false with scope gridOptions
  • 如何从 Redis 获取值并将其放入 NGiNX 中的变量中?

    这是我的配置 location session set redis key cookie session redis pass 000 00 000 000 6379 echo cookie session echo echo redis
  • string.Format 如何处理空值?

    在下面的代码中 为什么这两个string Format调用的行为方式不一样吗 在第一个中 没有抛出异常 但在第二个中ArgumentNullException被抛出 static void Main string args Exceptio
  • onClick 输入类型=“image”

    我一直在转来转去 试图找到一个明确的答案 基本上 我想将 Google Analytics 事件跟踪添加到表单提交中 我希望为其添加 onClick 但我很难确定是否所有浏览器都支持它 我问设计表单的人 她说他们不使用按钮类型的原因是导致在
  • Backtrader 错误:“DataFrame”对象没有属性“setenvironment”

    我是反向交易者的新手 我有一个大问题 我想开始我的策略 只是一个简单的 GoldenCross 策略 这个 GoldenCross py 脚本如下所示 import math import backtrader as bt class Go
  • dijit 过滤选择最小长度

    我似乎找不到一种方法来要求过滤选择输入具有一定的长度 我尝试过这样的 new dijit form FilteringSelect name bla store jsonRestStore searchAttr name pattern 3
  • 有人在 vuetify 和 Laravel 7 上取得过成功吗? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我一直在尝试在使用 laravel 7 构建的多个项目中安装 vuetify 我成功地让它工作了一次 但每一次连续的尝试都会破坏 vu
  • 使用 msal.js 对 Angular Spa 进行身份验证

    我的角度应用程序有 1000 条独特的路线 用户应该能够从任何这些页面单击登录按钮 已经基于此示例实现了 msal js https github com Gimly simpleAngularAzureB2C blob master sr
  • 如何避免 Google Ads 拖慢我的网站(尤其是移动网站)速度?

    我知道很多网站管理员认为页面速度毫无意义 然而 我相信这个因素是谷歌决定对任何网站进行排名的前三名因素之一 我厌倦了看到谷歌自己的服务如何减慢我的网页速度 我编写干净的代码 当我启动任何网站 应用程序时 它在 GTMetrix 和 Ping
  • 如何在 docker 镜像中包含修改后的配置文件?

    我是 Docker 新手 一位 Devop 同事在 github 存储库中创建了一个 WSO2 docker 镜像 他使用此类图像来创建暂存和生产实例 The docker compose yml is openssl req newkey
  • 使用 Twisted 和 inlineCallbacks 进行测试

    这是我的函数定义 defer inlineCallbacks def get order order id do some db operations defer returnValue order details 我想做的是使用 Twis
  • 当导入 Angular 13 项目时,Angular 13 包/库抛出错误“moment is not a function”

    我正在升级私有角度库 包 my lib 以便我可以迁移所有其他项目 但是当导入到项目中时 其中一项服务使用 moment 并抛出错误 错误类型错误 时刻不是函数 该库在开发模式下工作 构建和发布都正常 即使导入到项目中 所有组件和资源都加载
  • 我需要做什么才能解决“使用移动值”错误?

    我正在尝试计算 Rust 中的第 10 001 个素数 Project Euler 7 作为其中的一部分 我检查整数是否是素数的方法引用了向量 fn main let mut count u32 1 let mut num u64 1 le
  • Git pull - 致命:读取错误:参数无效

    我尝试使用 msysgit 1 8 1 进行拉取 也尝试使用 1 7 10 和 11 结果相同 但总是收到一个我不知道如何调试 解决的错误 E java myproject gt git pull Enter passphrase for
  • url 中的分号作为查询字符串的分隔符

    我一直听说 W3C 建议使用 而不是 作为查询字符串分隔符 我们建议 HTTP 服务器实现者 特别是 CGI 实现者支持使用 代替 来保存作者 以这种方式转义 字符的麻烦 有人可以解释一下为什么 吗 推荐代替 另外 我尝试使用 代替 例子
  • 如何修复 Python 中的双重编码和损坏的字符串?

    我的流程正在处理已被破坏的数据 我可以看出它已经用 UTF 8 进行了双重编码 但这只是故事的一半 双倍的 decoding仅适用于单字节 拉丁语 且完好无损地通过 UTF 8 的代码点 双字节 或更大 的代码点不能使用以下命令进行双重解码
  • 如何在 Mavericks 中打开 NSSheet?

    在 Mavericks 中 打开和关闭 NSSheets 的方法已更改 为了让事情变得更加艰难 发行说明 https developer apple com library mac releasenotes AppKit RN AppKit