问题标签 [nssplitviewcontroller]
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.
xcode - 无法更改 NSSplitView 上的委托
我有一个故事板,其中包含一个主窗口(具有相应的MainWindowController
类)和一个主视图(一个NSSplitViewController
,具有相应的MainViewController
类)。对于某些功能,我试图将NSSplitView
视图中包含的委托设置为MainWindowController
类。
在没有任何 IB 链接的情况下,NSSplitView
委托已设置为MainViewController
应用程序启动时。我能够获得对 的引用MainWindowController
,但是当我尝试将委托设置为窗口控制器(确实实现NSSplitViewDelegate
)时,我得到以下信息:
如果我尝试将委托设置为nil
.
有谁知道为什么会这样,设置委托是否有限制,以及是否有办法使用 IB 将视图中的项目委托设置为另一个控制器?
谢谢。
macos - NSSplitViewController 导致包含的视图在窗口角上绘制
我正在尝试使用 Cocoa 创建一个小的 Finder 克隆。我将一个源列表表视图(用作侧边栏)和一个标准表视图放置在NSSplitView
由NSSplitViewController
. 不幸的是,当我运行它时,标准表格视图的白色背景被绘制在窗口的右下角,导致一个非圆角:
我可以通过不使用NSSplitViewController
标准 nib 文件或情节提要来避免该问题,以获得所需的结果:
但是……我真的很想用NSSplitViewController
。有什么办法可以防止这种情况发生吗?
这是带有屏幕截图项目的 Xcode 工作区。
swift - NSToolbarFlexibleSpaceItem 在 Swift 中是对 NSSplitViewItem 的约束
几乎所有 macOS 官方应用程序都有这个工具栏的功能,NSToolbarItem
灵活的空间是限制NSSplitViewItem
查看的。我首先认为 NSToolbar 上可能有 3 个不同的部分。但它只是一个工具栏。您可以打开 Notes 应用程序并自定义工具栏。
- 第一个灵活空间被检测到并与第一个拆分视图项目一起移动。
- 第二灵活空间被检测到并与第二分割项一起移动。
- 其余的将只是正常的灵活空间。
- 如果只有两个灵活空间,则第二个将充当正常的灵活空间。同样的事情也适用于一个和/或灵活的空间。
我想这就是 Apple 配置灵活空间项的方式。
我找到了这个JWToolbarAdaptiveSpaceItem,但它是可移动的,并且不能像 Note 应用程序那样用灵活的空间项目替换。
还有另一个 stackoverflow 的问题(我现在找不到)询问这个问题,但答案是添加不是 NSToolbar 的假视图和按钮。
因此,有谁知道如何实现这一目标?
(对不起我的英语)
swift - Collapsing NSSplitViewItem does not call splitViewDidResizeSubviews
I have a class that inherits from NSSplitViewController
and overrides the splitViewDidResizeSubviews
function.
When I call collapse on a NSSplitViewItem
inside the NSSplitViewController
and I see the NSSplitViewItem
visibly resize the splitViewDidResizeSubviews
function isn't called.
If I resize the window the splitViewDidResizeSubviews
function is called so I know it is implemented correctly.
Can I expect the splitViewDidResizeSubviews
function to be called on a collapse and if so what might I be doing wrong?
autolayout - NSTabView 中 NSSplitView 的布局问题 - 缺少约束
我做了一个非常简单的虚拟项目来说明我的问题(在 10.12.1 上使用 Xcode 8.1)。我有一个带有 2 个选项卡的 NSTabViewController 的故事板,其中一个是 NSSplitViewController。尽管一切似乎都运行良好,但我在运行时看到以下警告:
“TabSplitViewDummy[3615:89221] [Layout] 检测到 <_NSSplitViewItemViewWrapper: 0x6000001a0d20> 缺少约束。由于没有足够的约束来完全定义大小和原点,因此无法放置。添加缺少的约束,或设置 translatesAutoresizingMaskIntoConstraints=YES 和约束将为您生成。如果此视图在 macOS 10.12 及更高版本上手动布局,您可以选择不从覆盖中调用 [super layout]。在 DETECTED_MISSING_CONSTRAINTS 上设置断点以进行调试。此错误只会记录一次。
我尝试为所有视图设置 translatesAutoresizingMaskIntoConstraints=YES 以及设置约束 - 没有任何效果。到目前为止,我只发现了 3 件事:
- 当我更改选项卡的顺序以使拆分视图在启动时不可见时,没有警告消息
- 当我删除选项卡视图并制作窗口的拆分视图内容时,没有警告消息
- 当我在 DETECTED_MISSING_CONSTRAINTS 上设置一个符号断点时,它会被击中 6 次,所以我猜有 6 个缺少约束
我已经为此失去了好几天,我在这里错过了什么?
非常感谢你的帮助!!!
cocoa - 拆分视图控制器内存管理
我在我的 osx 应用程序中使用简单的拆分视图控制器...拆分项目 0 用于菜单,第二个用于内容(如在 slack 应用程序中)。
我得到内存泄漏,所以需要优化......这是单击菜单项时我所做的: