【问题标题】:Split view divider is not showing up when subclassing from NSSplitView从 NSSplitView 子类化时,拆分视图分隔符不显示
【发布时间】:2013-07-18 19:29:29
【问题描述】:

我创建了一个自定义的 SplitView 类,它是 NSSplitView 的子类。一切对我来说都是正确的,并且工作正常,除了分隔线。出于某种原因,它不想出现在我的 SplitView 视图之间。

非常感谢任何形式的提示或帮助!

这是我在笔尖中的设置:

这里是我运行它时的样子

有趣的是,当我将鼠标移动到分隔线应该在的位置时,光标会发生变化,我可以拖动它......但由于某种原因它看起来不正确

【问题讨论】:

  • 你到底想做什么?有一些方法可以改变分隔线的样式,也可以将一个矩形作为新的分隔线。

标签: macos cocoa nssplitview


【解决方案1】:

您可以使用“drawDividerInRect:”函数更改分隔线的颜色,通过传递您自己的矩形来更改分隔线的颜色。也有可能您在拆分视图中移动了一个自定义视图,并且再也看不到分隔线了。您可以尝试使用对象层次结构选择不同的视图。

我发现 Apple 不喜欢轻松修改许多不同的视图和控制器,这可能是因为他们试图在其系统上运行的应用程序中保持某种一致性。

隐藏的复选框是否被选中?

【讨论】:

  • 在属性检查器中,是否点击了视图部分下方的隐藏复选框?
  • 不...实际上我想我明白了...您可能必须在子类化时自己绘制分隔线...(void)drawDividerInRect:(NSRect)rect 并且它出现了跨度>
  • 有道理,我不知何故错过了问题的子类部分,但是在自定义 NSLevelIndicator 时我不得不做类似的事情
  • 我们如何为 Splitview 有两个以上子视图的分隔线进行可见性切换?有没有办法根据子视图的可见性隐藏每个分隔线的分隔线?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-10-30
  • 1970-01-01
  • 2011-08-20
  • 2011-06-11
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多