根据窗口状态设置视图背景颜色

发布于 2024-11-29 06:22:01 字数 265 浏览 1 评论 0原文

许多应用程序(例如邮件)中使用的标准源视图样式侧边栏在窗口处于活动状态时具有蓝色,而在窗口处于非活动状态时则具有另一种颜色 - 随着标题栏的状态更改。

由于各种原因,我开发了自定义侧边栏,但仍然希望背景具有相同的效果。

这个想法是制作一个填充背景的自定义 NSView ,并将其用作侧栏的背景。我给了它一个我想要设置的属性“active”,并且绘制方法相应地用两个不同的渐变填充矩形。

现在的问题是:将此类视图与窗口状态挂钩的最佳方法是什么?

The standard source view-style side bar used in many Apps (Mail, for instance) has a blue-ish color when the window is active, and another when it is inactive - following the state change of the title bar.

For various reasons, I have developed a custom side bar, but still want the same effect for the background.

The idea is to make a custom NSView that fills the background, and use it as the background for the side bar. I have given it a property "active" that I want to set, and the draw method fills the rect with two different gradients accordingly.

Now, the question is: what is the best way to hook such a view up to the window state?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

月亮邮递员 2024-12-06 06:22:01

苹果在邮件应用程序中使用的这个“侧边栏”是 NSOutlineView。在界面生成器中,您也可以通过将属性“突出显示”设置为“源列表”来使用此样式。

如果你想制作自己的侧边栏,你可以听 窗口应用程序委托。有很多方法可以报告它们的状态。

This "side-bar" that apple uses in the mail application is a NSOutlineView. In the interface builder you can use this style as well by setting the property "Highlight" to "Source list".

If you want to make your own side bar you can listen to the window and application delegate. There are plenty of methods that report about their status.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文