问题标签 [nsstoryboard]

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 回答
301 浏览

macos - 使用 Swift 将 NSView 添加到响应者链的指南

我读过这个文件。看到这个SO 问题(其中包括)。并查看了教程。但是对于我的生活,我无法让我的自定义故事板 segue 工作。我正在使用SO 答案中的代码来引入新视图及其控制器。

基本上,用户在初始视图中会看到 5 个按钮,单击任何一个按钮都会导致另一个视图从左侧滑入。一切正常,任何NSButtons放置在新视图上的东西都会收到点击并做他们应该做的事情。但是,文本字段是完全无法访问的:您可以选择其中的任何文本,但不能覆盖。

我假设我没有将新的视图/视图控制器正确地注入到响应者链中(但是为什么按钮可以工作而文本字段却不能呢?)。

明智地使用

总是返回真。我已将它们放置在新视图的各种初始生命周期函数中以及NSViewControllerPresentationAnimator动画结束时的实际自定义中。

如果 segue 是预设工作表、模式、弹出框或其他任何东西,那么新视图可以接收所有操作/键入。所以这绝对是我的代码。

我知道这不是很好的形式,但我快疯了:有人可以提供一个使用 Swift 的分步示例吗?

[编辑]啊啊啊!似乎是因为我在我的应用程序窗口中未选中“标题栏”,所以它拒绝接受第一响应者。惭愧,我很喜欢没有标题的干净窗口....

0 投票
1 回答
307 浏览

swift - 从情节提要实例化的视图控制器的投射失败

我有一个实例化新窗口控制器的视图控制器。我需要将一个对象传递给该窗口控制器的视图控制器。这是我到目前为止所拥有的:

该窗口按预期显示,然后 Xcode 进入调试器并显示错误:

无法将“NSViewController”(0x7fffd1dcc4e0)类型的值转换为“Inventory2.EditCustomerViewController”(0x100011660)。

我很困惑,因为我的 EditCustomerViewController 扩展了 NSViewController。

1) 为什么不能将 NSViewController 强制转换为 EditCustomerViewController?
2) 有没有更好的方法将数据导入新的视图控制器?

0 投票
1 回答
225 浏览

xcode - 为什么我不能在情节提要中投射到我的视图控制器子类?

我有一个故事板,其中有一个窗口控制器和一个视图控制器。在代码中访问视图控制器的最合理方法是通过在拥有的窗口控制器中定义的访问器。

一切都编译得很好,但是当尝试在运行时访问视图控制器时,应用程序会因 sigabrt 崩溃:

在此处输入图像描述

控制台会记录类似于以下的错误消息:

我在我的应用程序的其他地方使用了类似的投射模式并且一切正常,出了什么问题?

0 投票
0 回答
75 浏览

swift - 在解雇工作表segue时发送价值?

我正在努力寻找有关工作表 segue 的最新文档和信息,因此我提出了要求。我有一个主视图控制器,当按下按钮时会触发工作表 segue。

然后使用另一个按钮关闭工作表,我希望在关闭工作表时将值传输回原始视图控制器。

我尝试过使用代表和“准备”,就好像解雇本身就是另一个问题,但都证明是徒劳的。

这可能是一个简单的问题,但我是该平台的新手,非常感谢任何帮助!

0 投票
0 回答
35 浏览

swift4.2 - 第二个触控栏

我的 macOS 应用程序中有两个 sroryboards(带有两个单独的 WindowController)。我想知道如何在 XCode IDE 中创建两个 TouchBar,每个 TouchBar 都连接到情节提要中自己的窗口控制器场景。实际上我可以创建两个 TouchBar,但是当我运行应用程序时,只显示 Main storyboard 中的一个。为第二个故事板窗口自定义 TouchBar 的正确方法是什么?谢谢。

0 投票
1 回答
648 浏览

swift - 如何在 Swift 4 Cocoa 应用程序的开头弹出两个窗口?

我正在使用 XCode 9 开发 Swift 4 Cocoa Mac OS X(不是 iOS)项目。NSWindow我的主情节提要中有两个 s 具有不同的(子类)NSViews。目前只有一个窗口包含情节提要入口点,因此在应用程序启动时不会出现另一个窗口,我希望在加载应用程序时两个窗口都出现。

我尝试过使用不同的关键字进行谷歌搜索,但到目前为止找不到方法。我发现的唯一方法是将一个窗口中的按钮或菜单的 segue 连接到另一个窗口,以便在按下按钮时出现另一个窗口。是否有任何方法使两个窗口以“正确的方式”出现在开头(最好使用 XCode 故事板的功能)?