- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我已经重写了 NSTableRowView,到目前为止它正在工作。我面临的问题是绘制空行的分隔符。
drawSeparatorInRect:dirtyRect
似乎只覆盖有内容的行,其余所有似乎都填充了系统颜色。
目前我有:
-(void)drawSeparatorInRect:(NSRect)dirtyRect
{
NSRect sepRect = self.bounds;
sepRect.origin.y = NSMaxY(sepRect) - 1;
sepRect.size.height = 1;
sepRect = NSIntersectionRect(sepRect, dirtyRect);
if (!NSIsEmptyRect(sepRect))
{
[[NSColor gridColor] set];
NSRectFill(sepRect);
}
}
正如我所说,这效果很好。我最初是从一些苹果样本中挑选出来的。
当我将分隔符颜色更改为“红色”时,您可以看到会发生什么:
最后填充行的下半部分被填充,但之后的其他行都没有被填充。
有人知道我错过了什么吗?
干杯,
一个
最佳答案
只有包含内容的行才有行 View 。因此,自定义行 View 不会影响表格内容末尾之后的行分隔符的绘制。
要自定义这些分隔符的绘制,您需要重写-[NSTableView drawGridInClipRect:]
。您可以计算超出内容末尾的行的分隔符位置,并以与自定义行 View 相同的方式绘制。
WWDC 2011 Session 120 – View Based NSTableView Basic to Advanced 的视频中通过示例代码对此进行了解释。 。 Apple 的 HoverTableDemo sample project 中也对此进行了演示。 .
关于objective-c - NSTableRowView "Empty Rows",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29586093/
我有一个自定义的 NSTableRowView 实现来显示我的数据单元格。该表还包含使用简单 NSTextField 的组行。 在我的自定义行 View 中,我需要稍微更改底部分隔符的绘制,具体取决于
如果你有一个 tableView 并且想使用 NSTableRowView 的子类,你可以使用委托(delegate)函数 - (NSTableRowView *)tableView:(NSTable
我有一个 NSSplitView,其左侧 Pane 中有一个 TableView 。我注意到,当我在左 Pane 中选择一个项目并将焦点更改到右 Pane 时,左 Pane 会失去焦点,突出显示的行的
我的应用程序中有两个 NSTableView,用户可以将项目从表 A 拖放到表 B。将项目拖动到表 B 时,Xcode 会给我以下布局警告消息: Layout still needs update a
在侧边栏样式大纲 View 中,当我在传递给 outlineView:didAddRowView:row: 的行 View 上将 backgroundColor 设置为白色时,它仅在行的内容。在 su
我已经重写了 NSTableRowView,到目前为止它正在工作。我面临的问题是绘制空行的分隔符。 drawSeparatorInRect:dirtyRect 似乎只覆盖有内容的行,其余所有似乎都填充
我正在尝试在选择表格行时实现自定义行颜色。 -(void)tableViewSelectionDidChange:(NSNotification *)notification{ NSInteg
我想知道如何在 NSOutlineView 中设置所选项目的背景。通过将 SelectionHighlightStyle 设置为 NSTableViewSelectionHighlightStyleS
我正在使用 Storyboard 进行 OSX 开发。我正在使用 NSTableView ,并且不同的 NSTableRowViews 用于此 TableView 的行。这是逻辑- func
我在 NSVisualEffectView 中使用自定义 NSTableRowView。我在 CustomTableRowView 中实现了自定义 lightlight 样式,如下所示: class
当行展开/折叠时,我正在尝试修改我的 NSOutlineView 中使用的自定义 NSTableRowView 的外观。我的 NSOutlineViewDelegate 包括: - (NSTableR
我注意到我的应用程序出现了奇怪的行为,但找不到修复它的方法:我有 NSOutlineView 和自定义 NSTableRowView 并支持拖放。 当我首先在 outlineview 上拖动项目(例如
我有一个基于 View 的 NSTableView,我正在尝试自定义某些行的外观。 我知道我需要实现标题中提到的委托(delegate)方法;但我不知道该怎么做。 文档说: You can use t
我是一名优秀的程序员,十分优秀!