问题标签 [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 投票
4 回答
5306 浏览

cocoa - 如何实现具有最小和最大尺寸的 3 窗格 NSSplitView?

我想实现一个 3 窗格垂直NSSplitView(非常类似于 Mail.app)。我不确定从哪里开始。我很确定我需要实现 a NSSplitViewDelegate,但我不确定哪些方法和/或它们的实现。

我想要的布局如下:

我想为每个窗格实现以下约束:

  • 窗格 1:最小 140pt。最大:400pt。
  • 窗格 2:最小 250pt。
  • 窗格 3:最低 400pt。

任何指针将不胜感激。

0 投票
2 回答
1120 浏览

cocoa - NSTableHeaderView 防止自动布局在拆分视图中调整滚动视图的大小

问题:为什么有一个标题视图会阻止滚动视图被自动布局调整大小?

我正在尝试将我的自定义视图嵌入到滚动视图中,而滚动视图又包含在拆分视图中。我在 Xcode 4.5 DP 4 中使用 Interface Builder 创建了以下视图层次结构,但在 Xcode 4.4 中似乎也发生了同样的问题。

现在,如果 TestView 提供了 NSTableHeaderView(通过 -headerView)属性,则拆分视图分隔线不能一直拖到底部(或右侧)以隐藏 TestView,而是停止到 TestView 的初始宽度或高度的边界。如果 -headerView 属性返回 nil,则可以自由拖动分隔线。

每次都可以重现这一点,只需创建一个新的 Cocoa 应用程序项目,添加视图并运行项目即可。步骤:

  1. 创建一个新的 Cocoa 应用程序项目
  2. 使用返回 NSTableHeaderView 实例的 headerView 属性创建 TestView 类。
  3. 编辑 MainMenu.xib 并添加拆分视图
  4. 添加自定义视图并使其成为 TestView
  5. 选择编辑器 -> 嵌入 -> 滚动视图
  6. 运行项目

(没有约束或其他界面生成器菜单)

测试视图.m:

任何指针,我应该怎么做才能让拆分视图分隔线再次移动?

0 投票
2 回答
828 浏览

cocoa - NSView 覆盖 NSWindow 底栏

对于我的生活,我无法弄清楚这一点。我正在为 Mountain Lion 工作 Xcode。我在我的主 NSWindow 中将 NSView 添加到 NSSplit 视图时遇到问题。我的拆分视图按预期工作,尽管当我向其中添加另一个视图时,视图覆盖了窗口的底部栏,这不是我想要的行为。

在此处输入图像描述

我附上了这张照片,以了解我正在处理的内容。我知道原点(0,0)是任何视图的左下角,尽管我想要发生的是视图填充拆分视图并调整大小而无需手动调整视图大小,而不是与底部栏重叠。请任何帮助都会很棒。

0 投票
4 回答
5562 浏览

objective-c - NSSplitView 分隔线的起始位置

如何设置 NSSplitView 的起始位置?

我发现最接近它的东西是 setPosition

不过,这似乎没有任何作用,我的拆分视图仍然从中间的分隔线开始。

有任何想法吗?

0 投票
1 回答
446 浏览

objective-c - NSSplitView 中固定大小的视图

我有一个 NSSplitView,有三个视图。我不希望第一个视图(从左侧)为 100.0 宽,我希望第二个(从左侧)为 250.0 宽。我还希望这两个视图的宽度保持固定。

所以,inapplicationDidFinishLoading是设置的位置。

我还设置了委托:

最后,我实现了协议的以下部分:

但是,当我调整整个窗口的大小时,所有视图的大小都会发生变化。我只希望第三个视图改变它的大小。我需要做什么来防止这种行为?

不,我不想使用第三方库。

0 投票
1 回答
2330 浏览

objective-c - 如何将 NSSplitView 分隔线厚度更改为 1px?

我想为NSSplitViewMail.app、Xcode.app 和许多其他 Mac 应用程序制作一个非常薄、只有 1px 宽的分隔线。

有什么好方法可以做到这一点?

我已经尝试在 Interface Builder 中设置分隔线样式以及将子类化为NSSplitViewoverride -dividerThickness,但我得到的最接近的是 2px,这破坏了分隔线功能(我无法再移动分隔线)。

编辑:我知道诸如RBSplitViewand之类的替代方法BWSplitView,但如果可能的话,我想使用NSSplitView。基本上,Apple 是如何做到的?

0 投票
0 回答
431 浏览

objective-c - NSSplitView 控制器:如何以编程方式从一个视图控制器移动到另一个视图控制器

我是mac开发的新手。我习惯于NSSplitView分裂我的观点。当我从拆分视图左侧选择字段时,所选视图已显示在拆分视图的右侧。

现在的问题是,当我按下右侧所选视图控制器上的按钮以从该视图控制器转到另一个时,未执行操作。

我该如何解决这个问题?

0 投票
1 回答
822 浏览

cocoa - 如何在不让拆分器消失的情况下使 NSSplitView 透明?

我已经扩展了我的窗口,使其具有按钮内容边框。问题是我的 NSSplitView 覆盖了边界。我的想法是我可以使拆分视图透明(但它上面的控件不透明)。

下图显示了我正在寻找的内容,但缺少拆分器:

缺少拆分器的屏幕截图

看看窗口底部是如何有按钮的。这是我想要达到的效果,但没有任何运气。我尝试使用的代码是:

如果我没有设置 transparentViewLayer,那么我最终会得到以下结果:

分离器但隐藏的底栏

它显示了 spitter,但隐藏了窗口底部栏。我还尝试了子类NSSplitView化并添加以下内容:

这给我留下了一个绿色的分离器,并且没有用于 Windows 底栏的 alpha。关于如何达到我想要的效果的任何想法?(我希望底部栏带有我的按钮和拆分器可见)。

0 投票
1 回答
403 浏览

objective-c - SplitView 中 CustomView 中的 cocoa NSTableView 大小不调整

我有一个 NSSplitView 作为我的“Superview”。在这个 SplitView 中是一个带有 NSTableView 的自定义视图。我正在尝试从 Controller 类加载我的自定义视图,然后调整自定义视图和表格的大小。但是表格和/或自定义视图不会调整大小。我做错了什么?

这是我的控制器类方法,我在其中加载并设置自定义视图的大小:
// Header File @property (weak) IBOutlet NSView *navigationView; @property (strong) AppsNavigationViewController *navigationViewController;

}

这是它的外观:

具有自定义视图和 nstable 的 nssplitview

编辑 我对一些视图进行了子类化并绘制了不同的背景。而且绝对是自定义视图没有得到大小!

在此处输入图像描述

0 投票
1 回答
279 浏览

objective-c - nssplitview dividerColor 返回被忽略

dividerColor方法返回颜色值似乎在NSSplitView. 我已经看到了有关此的各种讨论,但我从未见过解决方案。

有人知道这个问题的解决方案吗?

谢谢