问题标签 [nssplitview]

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 投票
2 回答
1029 浏览

cocoa - No MouseUp:/Down: 在 Leopard 上的 NSSplitView 中的自定义视图上

我目前正在为 OSX 10.5 及更高版本构建项目。首先,10.6的用户看不到这个;只有 10.5 个用户有这个问题。您无法在 10.6 上重现此内容。

简而言之:当使用 - (void)mouseUp:(NSEvent *)theEvent 的重载实现放置 NSView 的自定义扩展类时,mouseUp 在包裹在 NSSplitView 中时不会被调用。rightMouseUp:/Down: 在扩展的 NSView 上工作。

当我将自定义视图放在我的窗口上时,会调用该事件,当我将它直接包装在 nssplitview 中时,不会为豹(10.5)用户调用 mouseup。

重现步骤(在 10.5 上!)

  1. 创建一个新的可可项目
  2. 创建以下类
  3. 在窗口上拖动一个自定义视图并创建类 GTTest
  4. 在窗口上拖动一个拆分视图,然后在其中一个内容视图中添加一个 GTTest

班级:

单击窗口上的 GTTest 目录会记录好行,单击 NSSplitView 则不会执行任何操作(也可以尝试断点)。rightMouseDown:/Up: 在 NSView 上工作。

ps> 当我向 splitview 添加一个按钮时(也是一个派生的 nsview,使用 nsresponder 对吗?)会触发我的 IBAction 方法;我上面的课程缺少什么才能正常工作?

我能做些什么?

0 投票
1 回答
1551 浏览

cocoa - 如何从可可中的 NSSplitView 中删除 SubView?

我正在使用此 IBActions 加载两个不同的视图

但是使用此代码,我只是将堆栈一中的子视图放在彼此前面,如何在添加新子视图之前从splitRightView中删除子视图?

谢谢。

0 投票
1 回答
1053 浏览

cocoa - NSSplitter如何防止在调整大小时按比例分配空间

我有一个窗口,右侧有一个源列表侧边栏,左侧有一个内容视图,都在 NSSplitView 内。

当我调整窗口大小时,额外的空间将分配给源列表和内容视图。如何使源列表保持其固定宽度。所有 Apple 应用程序都在这样做,所以我希望我只是错过了一个方法。

0 投票
2 回答
5737 浏览

objective-c - 使 NSSplitView 的分隔线不可拖动并且不显示拖动光标

我有一个带有三个子视图的 NSSplitView ( NO UISplitView(Controller)!! )。现在,对于最后一个分隔线(索引1),我希望分隔线不显示拖动光标(两个箭头相互指向)。我有这个来停止拖动,但光标仍然出现:

请注意,我只想在 index 处隐藏分隔线的光标1。谁能帮我?谢谢。:)


不,我不想使用 BWToolkit。

0 投票
1 回答
2140 浏览

cocoa - NSSplitView 子视图大小以编程方式约束到容器 NSSplitView 的大小

这个问题很难用语言来表达,但一个真实世界的例子会有所帮助。如果您查看 iTunes 应用程序,它似乎有一个NSSplitView用于Sidebar | Content拆分,以及一个NSSplitView用于源列表和图稿面板的嵌套。

在此处输入图像描述 ======> 在此处输入图像描述

当您拖动分隔线以使侧边栏变细时,艺术品视图(内部的下半部分NSSplitView)会缩短以保持正确的纵横比。这是我所追求的行为。

我已经连接了外部NSSplitView'sdelegate以指向 sideBarController,这样我就可以得到大小更改并以编程方式调整拆分视图的下部。我有这一半的问题正常工作,也就是说,当我更改侧边栏、宽度时,侧边栏面板会相应地调整它们的大小。

我在攻击中遇到的问题是当嵌套NSSplitView的高度改变时如何调整侧边栏的宽度。我最初试图找到使这个内部拆分视图的分隔线不可拖动的方法,但找不到任何方法来做到这一点。我现在设置的方法是将内部滚动视图的委托设置为拥有主拆分视图的 windowController,然后计算高度以更改信息面板的宽度。

当然,改变一个大小会导致另一个拆分视图改变它的大小,这会再次改变原始大小并创建一个无限循环。我可以添加标志和计时器来尝试解决这个问题,但似乎我要在这里再次实现这个功能。

如何正确地将嵌套的 splitview 面板限制为其父宽度或更一般地,复制 iTunes“选定项目/正在播放”视图的调整大小行为的最佳方法是什么?

0 投票
2 回答
2390 浏览

objective-c - 以编程方式调整 NSSplitView 的大小

我曾经使用并喜欢 RBSplitView,但是我未能以编程方式重新实现它,因为某个版本的 xcode 不再支持 IB 插件。

因此我回到使用 NSSplitView。NSSplitView 可以满足我的需要,问题是 NSSplitView 的 autoSave 被破坏了。所以我决定自己实现它。

我目前正在做的事情是调整 NSSplitView 的 1 个子视图的大小。

调整 NSSplitView 大小的正确方法是什么?- setPositionOfDivider:itIndex: 应该是要走的路(没试过),但是我不知道如何获得分隔线的当前位置。

- 提前致谢

0 投票
1 回答
1918 浏览

cocoa - NSSplitView 在垂直和水平布局之间切换时保存和恢复拆分器位置

在我的应用程序中,我使用 NSSplitView,它能够使用- (void)setVertical:(BOOL)flag方法在垂直和水平布局之间切换。问题是当用户更改布局时,拆分器总是将其位置恢复到 50%/50%。

NSSplitView 的分隔线可以自动保存,但它不会为两种布局保存值。

处理这个问题的最佳方法是什么?在每次调整大小和拆分器移动时将子视图矩形保存在 NSUserDefault 中,并在布局切换时恢复它们?它看起来不错吗?有没有更好的解决方案。

0 投票
1 回答
2536 浏览

objective-c - 自动调整以编程方式创建的子视图的大小

我有一个 NSSplitView。在该拆分视图的左窗格中,我有一个 NSTableView 和一个以编程方式创建的自定义视图。我正在使用委托来确保我的两个窗格不会同时调整大小。

我因此添加了我的自定义视图:

它似乎工作正常。当我运行我的应用程序时,一切正常。现在,我的问题是,当我调整拆分视图窗格的大小时,自定义视图不会调整大小,在它和 NSSplitView 的分隔符之间留下难看的空白。

我想我想问的是,如何以编程方式设置 IB 视觉设置的弹簧和支柱?

另外,我不能使用 IB,因为 Xcode 4 不支持 IB 插件。

0 投票
1 回答
479 浏览

cocoa - NSSplitView 中的 NSOutlineView 徽章

我有一个 NSOutlineView,我使用 drawAtPoint:、NSAttributedString 和 NSBezierPath 在单元格的右侧绘制徽章编号。当在 NSSplitView 的子视图中调整大纲视图的大小时,我的问题存在。徽章随着调整大小向左或向右移动。当他们到达单元格本身的文本时,他们不会停止或截断它们下面的文本。它只是飞过来。

有没有办法让单元格识别它旁边的自定义绘制视图并相应地截断文本?我已经尝试过解决方案 PXSourceList,但这也无济于事。

0 投票
1 回答
6479 浏览

cocoa - 以编程方式创建 NSSplitView + 子视图

我正在尝试以NSSplitView编程方式创建水平并将其添加 2 个子视图。不幸的是,如果我创建拆分视图没有问题,我不知道如何添加子视图。

你有什么想法吗?