Skip to main content
 首页 » 操作系统

objective-c之如何在 NSScrollView 的弹性部分绘制背景

2024年01月01日73jackei

我有一个自定义的 NSScrollView,它在两个方向上都启用了弹性。目前,当我滚动/弹跳到这个弹性部分时,我只会得到一个黑色(丑陋)的背景。我如何控制绘制到此部分的内容?

首先,我只想能够将此部分的背景颜色设置为特定颜色。

我尝试过但没有的东西似乎有效:

  1. 使用 NSSCrollView 的背景属性 - 它似乎没有做任何事情,这也很奇怪吗?
  2. 设置自定义 NSScrollView.wantsLayer = true 然后选择合适的 CGColor => 也没有效果
  3. 向 NSScrollView 添加一个带有背景颜色的独立 subview ,垂直和水平填充它(甚至尝试使用负前导空格过度填充)=> 无效
  4. 尝试使用约束使 contentView 大于 NSScrollView => 没有明显的效果
  5. 使 documentView 变大 => 它只是让 documentView 扩展了所述的量(这很愚蠢,但确实让人感到绝望!)
  6. 按照下面评论中的建议在 NSClipView 上设置背景 => 无效

请您参考如下方法:

好吧,如果一开始你没有成功(而且还没有人回答你关于 SO 的问题)...

有效的方法是向 NSClipView(而不是 NSScrollView)添加一个 subview ,将其约束为与产生弹性的 documentView 相邻。就这样……