- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我的应用程序中有两个 NSTableView,用户可以将项目从表 A 拖放到表 B。将项目拖动到表 B 时,Xcode 会给我以下布局警告消息:
Layout still needs update after calling -[NSTableRowView layout]. NSTableRowView or one of its superclasses may have overridden -layout without calling super. Or, something may have dirtied layout in the middle of updating it. Both are programming errors in Cocoa Autolayout. The former is pretty likely to arise if some pre-Cocoa Autolayout class had a method called layout, but it should be fixed.
只有当项目被拖到表 B 时才会发生这种情况。否则我在 IB 中没有自动布局警告,布局中的所有内容看起来都设置正确。有人知道上面的消息想告诉我什么吗?这些表使用标准的 Cocoa 类(不是子类)。
最佳答案
我通过不允许删除操作类型来修复它(或者更确切地说是解决它),NSTableViewDropOperation.Above
除外。在用户将它们放到其他行之前,而不仅仅是行之间。但我希望只允许将它们放在行之间,所以这对我来说很好。这是修复它的代码:
func tableView(aTableView:NSTableView, validateDrop info:NSDraggingInfo, proposedRow row:Int, proposedDropOperation operation:NSTableViewDropOperation) -> NSDragOperation
{
if (operation == .Above) { return .Move; }
return .None;
}
关于macos - 调用 NSTableRowView 布局后布局仍需要更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30621573/
我有一个自定义的 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
我是一名优秀的程序员,十分优秀!