为什么在 10.5 上我必须在 NSWindowController 上调用 showWindow 两次?

2024-05-14

我有一个 NSWindowController 的子类,我用它从笔尖加载窗口并将其显示在屏幕上。下面是当我想显示窗口时调用的代码。在 10.6 上,当调用 showCustomWindow 时,会显示窗口,但在 10.5 上,必须调用此方法两次才能显示窗口。

-(IBAction)showCustomWindow:(id)sender 
{
   if(!windowController){
       windowController = [[MyWindowController alloc] initWithWindowNibName:@"MyWindow"];
    }

    [windowController showWindow:self];
}

该窗口已选中“启动时可见”,取消选中它似乎没有什么区别。

Edit:我意识到我遇到的问题与我的 NSWindowController 或 showWindow 无关。我已经正确设置了。然而我确实发现并非所有类都实现 awakeFromNib。在我的一个 NSView 子类中(在我试图加载的笔尖中),我调用 [super awakeFromNib] ,它给了我一个“不响应选择器”(但仅在 10.5 上,这很奇怪)。所以,我本可以直接取出 [super awakeFromNib] 但我选择了希望更强大的:

if([NSView instancesRespondToSelector:@selector(awakeFromNib)]) {
    [super awakeFromNib];
}

这使得我的笔尖能够正常加载并且 showWindow 能够正常工作。


如果您想使用,则应取消选中“启动时可见”-showWindow:控制该窗口可见性的时间。

其他一切seems根据您向我们展示的内容,这只是一个猜测,但是您是否忘记连接window文件所有者对象上的出口到笔尖中的窗口?

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

为什么在 10.5 上我必须在 NSWindowController 上调用 showWindow 两次? 的相关文章

  • 在 macOS 中获取用户首选的温度设置

    我正在尝试读取温度单位 摄氏度 华氏度 的用户设置系统首选项 我试图使用 NSLocale 获取此数据 但我找不到任何温度设置的证据 甚至可以读取这些数据吗 Thanks 官方 API 记录在首选项 实用程序 https developer
  • 获取选定行 NSTableView 的值

    我如何获取 NSTableView 中选定行的值 通过使用selectedRow see here https developer apple com documentation appkit nstableview 1535010 sel
  • 如何使用 NSWorkspace launchApplicationAtURL?

    我尝试使用以下命令运行 TextMate foo txt 的等效项在 URL 处启动应用程序 二进制文件的名称是 TextMate 我有一个参数 我尝试了以下代码 但它似乎不起作用 find the textmate NSURL bURL
  • 如何在全屏视图前面显示 NSPanel?

    我的应用程序以全屏方式运行 我需要类似 iOS 的 UIPopoverController 之类的东西 第一个想法是使用 NSPanel 但我无法让它显示在全屏视图前 我需要一个类似 UIPopoverController 的 Cocoa
  • Objective C 中最好的多线程方法?

    我正在开发一个 iPad 应用程序 目前正在努力寻找多线程的最佳方法 让我用一个简化的例子来说明这一点 我有一个包含 2 个子视图的视图 一个目录选择器和一个包含所选目录中所有图像缩略图的图库 由于 下载 和生成这些缩略图可能需要相当长的时
  • 辅助功能:ScrollView 自动滚动到点击“TAB”时不可见的视图

    有人可以让我知道当仅使用键盘的用户尝试使用 Tab 键在 ScrollView 中的不同 UI 元素之间导航时如何自动滚动滚动视图吗 当我按 TAB 键时 焦点会转移到滚动视图中存在的不同 UI 元素 但如果可见内容视图中不存在 UI 元素
  • 使用 PDFOutline 将 TOC 添加到 Swift/Cocoa 中的 PDFDocument

    我正在开发一个小程序 将多个单页 PDF 合并到一个多页 PDF 中 我正在 Swift4 MacOS Cocoa 中工作 但我一生都无法在 Swift 中找到任何类型的示例来创建大纲 仅遍历现有的大纲 我对此非常熟悉 使用对文档的最佳猜测
  • Objective-C 语法是什么,椭圆式点表示法? “……”

    我在 Joe Hewitt 的 Three20 源代码中注意到了这一点 而且我以前从未在 Objective C 中见过这种特殊的语法 甚至不知道如何在适当的谷歌搜索中引用它 来自 UITableViewDataSource TTSecti
  • NSWindow 关闭时退出应用程序

    当主应用程序 唯一的应用程序 关闭时 如何正确退出 Mac OS X 应用程序 我知道有一个方法 void windowWillClose NSNotification notification in NSWindowDelegate 但它
  • “内容值”和“内容对象”有什么区别

    我现在正在探索绑定 并且有一个 NSPopUpButton 它为我提供了 值选择 下的许多绑定选项 Content Content Objects Content Values 然后Selected Object Selected Valu
  • Xcode 7.3.1 可以在 macOS 10.12 上运行吗?

    我想安装并尝试 macOS 10 12 的新功能 我也很想在 Xcode 8 0 上工作 但同时我有一些应该在 Swift 2 2 Xcode 7 3 1 上编写的客户端项目 我不想使用 Swift 2 3 或 Swift 3 0 那么可以
  • 如何将 Cocoa 应用程序移植到 iPhone-OS?

    我即将创建一个 Cocoa 应用程序 我想确保有一天我可以轻松地将它移植到 iPad 甚至 iPhone 我该如何提前计划 我知道我将不得不重做所有 NIB 并可能设计一个不同的工作流程 但是代码呢 仅仅用 UIsomething 替换每个
  • NS_ENUM 和 NS_OPTIONS 有什么区别?

    我在 Xcode5 中用 clang 预处理了以下代码 typedef NS ENUM NSInteger MyStyle MyStyleDefault MyStyleCustom typedef NS OPTIONS NSInteger
  • 以编程方式设置 Mac 鼠标/触控板速度

    我正在尝试更改我正在开发的应用程序的鼠标跟踪速度 注意 不是加速 我到处寻找一种方法来做到这一点 但找不到任何东西 我怀疑这与我在 IOKit hidsystem 框架上的这个函数中给出的值有关 IOHIDSetAccelerationWi
  • Objective-C 2.0中的多线程问题

    我有我的主应用程序委托 其中包含一个返回对象的方法 该应用程序委托在主线程上运行 我还有一个在不同线程上运行的 NSOperation 除了希望有时能够在主线程上调用我的应用程序委托方法之外 我还需要从 NSOperation 线程中调用它
  • 如何防止在 macOS 中打开同一窗口的多个实例?

    我正在制作一个 Mac 菜单栏应用程序 它有一个Preferences选项 当用户点击它时 会出现一个Preferences将打开窗口 显示应用程序的所有设置 我打开Preferences窗口如 let storyboard NSStory
  • 转换任何对象?到字符串

    我有一个返回 AnyObject 的函数 func aFunction param String gt AnyObject 如何将其转换为字符串 和字符串 尝试这个 if let result aFunction test as Strin
  • 从 NSString 中去除非字母数字字符

    我正在寻找一种快速简便的方法来从文本中删除非字母数字字符NSString 可能使用的东西NSCharacterSet 但我累了 似乎没有什么返回只包含字符串中字母数字字符的字符串 我们可以通过拆分然后合并来做到这一点 组件Separated
  • 如何使用 Cocoa Autolayout 根据优先级调整两个子视图的大小?

    我正在 Cocoa 中使用自动布局 有些事情对我来说并不清楚 我在一个窗口上有 2 个视图 每个视图的宽度是父窗口宽度的1 2 View1 View2 如果我调整窗口大小 我希望首先调整 View2 的大小 View1 View2 当 Vi
  • 经常访问 NSUserDefaults

    在我的应用程序的逻辑处理过程中 我需要频繁访问用户首选项 并多次访问 10 15 次 以确定需要处理什么以及如何处理 也许这个问题不是关于性能的问题 而是关于正确执行的问题 目前我正在做一个 NSUserDefaults standardU

随机推荐

  • 所有事件的 HTML5 EventSource 监听器?

    我使用 EventSource 在 JavaScript 客户端应用程序中推送通知 我可以像这样附加事件监听器 source addEventListener my custom event type function e console
  • 按偶数和奇数排序

    我想知道是否可以使用 std sort 函数按偶数或奇数对数字进行排序 我有以下代码 但我不确定如何在 std sort 中实现 inline bool isEven const Point n return n getX 2 0 它是否正
  • 从嵌入 C# 的浏览器控件获取 HTML 源代码

    我有一个嵌入在 C Windows 应用程序中的浏览器控件 我想获取渲染的 HTML 可能已被 javascript 修改 而不是原始 HTML 有什么建议么 您可以获取 HTML 并确实设置它 使用WebBrowser DocumentT
  • Talend 中的常见日志记录

    我试图在 Talend 中实现日志记录 所以我使用普通组件做了一个工作 我通过 Twarn 和 Tdie 记录了错误 信息和调试 使用 Logcatcher 我将日志分为调试和错误两个文件 这部分工作正常 现在我已经做了两份工作 首先 使用
  • Google Sheets API v4 和 valueInputOption

    我的电子表格中有三列 第一个是日期 第二个和第三个是简单字符串 当我批量上传数据时valueInputOption RAW 我的日期列得到错误的结果 所有日期前面都有一个看不见的撇号 字符串列没问题 当我使用valueInputOption
  • GWT、Maven、Spring - 在 Maven 构建上获取 com.thoughtworks.qdox.parser.ParseException:语法错误

    我正在尝试集成此演示中的代码 http code google com p gwt spring starter app http code google com p gwt spring starter app 进入我的主要 Spring
  • Pandas如何按时间段过滤DataFrame

    我有一个包含下表的文件 Name AvailableDate totalRemaining 0 X3321 2018 03 14 13 00 00 200 1 X3321 2018 03 14 14 00 00 200 2 X3321 20
  • 为什么 jar 执行的通配符在 docker CMD 中不起作用?

    我有一个Dockerfile与以下CMD启动我的 Spring Boot 应用程序 FROM java 8 jre CMD java jar app file jar 当我尝试从创建的图像启动容器时 我得到 Error Unable to
  • mod_rewrite GUI?

    任何人都有用于开发 mod rewrite 规则的图形工具 理想情况下 它会显示重写管道 然后当给定 uri 实例时 会显示应用时的转换 让它们正确设置总是很痛苦 因此任何使其变得更容易的方法都会有所帮助 对于 htaccess 阅读 mo
  • Java AES 256 加密

    我有下面的 java 代码来加密使用 64 个字符密钥的字符串 我的问题是这会是 AES 256 加密吗 String keyString C0BAE23DF8B51807B3E17D21925FADF273A70181E1D81B8EDE
  • 每个搜索词显示一行,如果未找到则替换默认值

    Query SELECT product id name FROM product WHERE barcode in 681027 8901030349379 679046 679047 679082 679228 679230 67923
  • iostream 对象 cin、cout、cerr 和 clog 是如何实现的?

    iostream 对象 cin cout cerr 和 clog 是在 iostream 标头中声明的对象 我知道在某些编译器中可能会在构造这些 iostream 对象之前尝试使用它们 因此在某些情况下它们必须受到 静态初始化顺序失败 的影
  • 查找 postgres 提供的列表中不存在的值

    我试图找到一个查询来告诉我数据库中没有的值 例如 select seqID segment from flu where seqID IN 1 2 3 4 5 6 7 8 9 现在 如果我的数据库没有 seqID 3 8 9 我将如何查找
  • LINQ:从类型 T 的列表中,仅检索某个子类 S 的对象

    给定一个简单的继承层次结构 人 gt 学生 教师 职员 假设我有一个人员列表 L 该列表中有一些学生 教师和工作人员 使用 LINQ 和 C 有没有办法编写一个只能检索特定类型人员的方法 我知道我可以做类似的事情 var peopleIWa
  • 如何使 Rails 3 资源预编译速度更快?

    我有一个正在运行的 Rails 3 2 1 应用程序 我正在通过 Capistrano 进行部署deploy assets它运行deploy assets precompile task 一切工作都很好 除了编译本身非常慢 我没有那么多 C
  • 发布到 npm 时出现问题

    所以我尝试使用 React 构建一个开源项目并将其推送到 npm 问题是 我的组件虽然在测试环境中运行良好 安装到其他组件 但当我将其发布到 npm 并下载包并尝试访问它时 它给了我一个错误 这是代码的一个小示例 import React
  • 在 C# 中生成随机浮点数的最佳方法[关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 在 C 中生成随机浮点数的最佳方法是什么 更新 我想要从 float Minvalue 到 float Maxvalue 的随机浮点数 我在一些
  • 发布数据时维护 ViewBag 值

    我有一个逻辑问题需要回答 这是一个场景 在控制器中 ViewBag Name aaaa 在视野中 ViewBag Name 在我的控制器中 我为 ViewBag 设置了值 并从 VIew 中的 ViewBag 检索了值 现在在 View 中
  • ASP.NET Core 过滤器内的 ViewBag

    基于这篇文章制作一个全局ViewBag https stackoverflow com questions 23381295 make a global viewbag 我正在尝试在 ASP NET Core 2 2 中实现以下内容 我意识
  • 为什么在 10.5 上我必须在 NSWindowController 上调用 showWindow 两次?

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