NSView - 在顶部

问题描述:

使用音乐播放器。我有一个NSTableView与一堆NSTableCellViews,每个NSSlider在该轨道开始播放时都取消隐藏。NSView - 在顶部

现在的问题是,我们希望滑块在NSTableCellView的底部绘制,但这意味着knobRect与它下面的NSTableCellView重叠。确保旋钮在其他表格单元格视图顶部绘制的最佳方法是什么?

Image overlap

+1

为什么你不只是让该单元格的高度更高一点代替? – 2014-08-30 20:47:20

+1

@MatthewBurke我们需要一致的行高。我想我们可以同时增加一个行的高度,减少另一个滑块的可见性,同时向用户显示,但这不是我理想的解决方案。 – 2014-08-31 01:16:05

+0

是的,这或多或少是我想到的。停止打字太快。虽然也许并不理想,但我认为你唯一的选择是将滑块视图放在表格(或其滚动视图)中。这将是一个非常头痛的问题。 – 2014-09-02 19:30:42

调整行高将是最容易的事情。 (特别是如果你只允许在同一时间:)一个回放)

你可以尝试setFloatsGroupRows:isGroupRow:NSTableView的和NSTableViewDelegate方法的tableView的方法 这种组合提供了一些非常独特的内置自定义,但是从外观上来看它,你已经定制了一个相当数量,所以你应该有能力。

你也可以尝试自己包裹什么这实际上是NSScrollView的addFloatingSubview:forAxis: 然而,这一说,NSTableView的,它生活在层次结构是相当紧密地缠绕在一起,所以你可能会觉得这很怪与NSTableView的你的时候”不要做浮动组行事。

最后,你可能想重新审视你的UI设计。也许你的卷轴可能是这样的,色彩坡道的边缘是你的滑块,所以你可以将它放在播放轨道的顶部: example slider