gpt4 book ai didi

macos - 带背景颜色的 NSTabView

转载 作者:行者123 更新时间:2023-12-03 16:21:37 27 4
gpt4 key购买 nike

正如其他地方所讨论的,NSTabView 没有 setBackgroundColor 方法,并且子类化 NSTabView 并使用 drawRect 来控制它不再起作用 - 因为它不会绘制顶部 10%,即分段控制按钮正下方的部分。

现在,我对解决这个问题必须做的大量工作感到有点惊讶;参见

我想知道我是否走错了路。以及如何更好、更简单地做到这一点:

  • NSSegmentStyleTexturedSquare 似乎为我提供了一个半透明的分段控件。这意味着我需要做额外的工作来隐藏任何边框线(第 240、253 行)。

    • 有更好的方法吗? IE。否定其透明度?

    • 或者有什么方法可以使用实际/原始分段选择按钮?

  • 我发现我需要的颜色 - 比如 [NSColor windowBackgroundColour] 没有设置为任何有用的颜色(即透明的) - 所以现在我对它们进行硬编码(第 87、94 行)。

    • 有更好的方法吗?
  • 我发现我需要大量蓬松的方法来保持同步(第 128、134 行等)。

    • 这种情况可以避免吗?
  • 我发现模仿重新缩放的巧妙方法意味着我需要持续关注分段控制框并删除/调整其大小。即便如此 - 它还是不如原来的

    • 是否有比第 157 行更好的方法——即了解调整大小?而不是一直这样做?
  • 当焦点从窗口中移开时,segmentControl 会变暗 - 与真正的 McCoy 不同。

    • 这很容易避免吗?有没有一种便宜的方法来跟踪这个?
  • 或者这是错误的方法 - 我应该只关注这里的透明孔 - 并让 NSTabViewItem 绘制背景吗?但无论如何 - 那么我仍然遇到分段控制框的问题 - 或者有没有办法让它再次成为默认值。

    • 尝试此操作时 - 我被困在以“真实”窗口背景颜色绘制的顶部 20-30 个像素上 - 这是“透明” - 因此颜色不会一直延伸到顶部或后面分段栏一直到边框 - 但停在分段控件底部下方约 8 个像素处。

感谢反馈 - 因为对于如此简单的事情来说这感觉很遥远/次优 -多谢。 Brownie 为 hack/fork github 代码点了点:) :) :) 因为一行正在运行的代码说了一千多个字。

Dw。

最佳答案

PSMTabBarControl 可能是最适合您的解决方法。我创建了几个自定义选项卡 View ,但 cocoa 不能很好地使用此控件。 PSMTabBarControl 已更新为支持 Xcode 4。 https://github.com/ciaran/psmtabbarcontrol

关于macos - 带背景颜色的 NSTabView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8090641/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com