如何将NSSplitView分频器厚度更改为1px?

时间:2012-10-10 12:34:55

标签: objective-c macos cocoa nssplitview

我想制作一个NSSplitView非常薄的分隔符,只有1px宽的分区,如Mail.app,Xcode.app和许多其他Mac应用程序。

这样做的好方法是什么?

我已尝试在Interface Builder中设置分隔符样式以及将NSSplitView子类化为覆盖-dividerThickness,但我得到的最接近的是2px,这打破了分频器功能(我不能更长时间移动分隔线。)

编辑:我了解RBSplitViewBWSplitView等替代方案,但如果可能的话,我想使用NSSplitView。基本上,Apple是如何做到的?

1 个答案:

答案 0 :(得分:11)

您不需要子类化NSSplitView或进行任何编码。 您只需要在Xcode / Interface Builder中将样式设置为“细分器”(在属性检查器中)。

您可能会感到困惑的是,您可能在拆分视图中有子视图(很可能是表格视图)。这些子视图也有一个边框,当它们填满整个splitview时,它看起来好像是分割视图分隔符是2-3像素宽。

所以你需要做的是将所有(填充)子视图的聚焦环设置为“无”,并禁用它们的边框或将它们稍微偏离分割视图的帧1 px,这样边框就不可见了。