- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个带有单列的NSTableView
。该列在 Interface Builder 中选中了“可编辑”,但双击 TableView 中的单元格不会执行任何操作。我已经确认(在 -tableView:viewForTableColumn:row:
中,通过检查 [tableColumn isEditable]
)表格列设置了可编辑标志。如果 isEditable == YES
,什么会阻止列被编辑?
有人建议我包含我的数据源和委托(delegate)代码。 dataArray
是存储 NSManagedObject
子类对象的属性。 listPopupButton
选择要在 NSTableView
中查看的实体,该 NSTableView 可以显示不同的实体,所有这些实体都只有一个 name 属性(如 nameOnlyItems
所示) > 返回这些数组的方法)。
- (NSInteger)numberOfRowsInTableView:(NSTableView *)tableView {
return [[self dataArray] count];
}
- (NSView *)tableView:(NSTableView *)tableView
viewForTableColumn:(NSTableColumn *)tableColumn
row:(NSInteger)row {
NSTableCellView *cellView;
NSNumber *index = [NSNumber numberWithInteger:[[self listPopupButton] indexOfSelectedItem]];
if ([[self nameOnlyItems] containsObject:index]) {
CVCAbstractEntity *entity = [[self dataArray] objectAtIndex:row];
NSString *name = [entity name];
cellView = [tableView makeViewWithIdentifier:@"nameOnly" owner:self];
[[cellView textField] setStringValue:name];
} else if ([index integerValue] == CVCListPopUpIndexPublishers) {
CVCPublisher *publisher = [[self dataArray] objectAtIndex:row];
NSString *identifier = [tableColumn identifier];
NSString *content;
content = [[publisher valueForKeyPath:identifier] description];
if ([identifier containsString:@"year"] && [content isEqualToString:@"0"]) {
content = @"";
}
cellView = [tableView makeViewWithIdentifier:identifier owner:self];
[[cellView textField] setStringValue:content ? content : @""];
} else if ([index integerValue] == CVCListPopUpIndexSeries) {
CVCSeries *series = [[self dataArray] objectAtIndex:row];
NSString *identifier = [tableColumn identifier];
NSString *content;
content = [[series valueForKeyPath:identifier] description];
if ([identifier containsString:@"year"] && [content isEqualToString:@"0"]) {
content = @"";
}
cellView = [tableView makeViewWithIdentifier:identifier owner:self];
[[cellView textField] setStringValue:content ? content : @""];
}
return cellView;
}
- (void)tableView:(NSTableView *)tableView sortDescriptorsDidChange:(NSArray *)oldDescriptors {
NSMutableArray *mutableDataArray = [[self dataArray] mutableCopy];
[mutableDataArray sortUsingDescriptors:[tableView sortDescriptors]];
[self setDataArray:mutableDataArray];
[[self nameOnlyTableView] reloadData];
}
最佳答案
事实证明,不仅表格列需要可编辑,单元格 View 中的文本字段也需要可编辑。选择此文本字段并从“行为”菜单中选择“可编辑”解决了问题。
关于objective-c - 什么会阻止可编辑的 NSTableColumn 双击时可编辑?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20043298/
我在 NSTableView 中有一列单元格,它们从应用程序的首选项 plist 中获取文本颜色。我想在突出显示时将文本颜色设置为白色,但一直无法找到一个好方法来做到这一点。 有人有什么想法吗? 最佳
我有一个包含 4 列的 NSTableView。我想更改第一个 NSTableColumn 的自动调整大小属性。如果用户调整应用程序的大小,则仅允许第一列更改其宽度。我的代码: // First 3
我想我会很聪明,将与每列强关联的 C++ 回调函数的地址存储在其 NSTableView 的 NSTableColumn 中。我对 NSTableColumn 进行了子类化,并添加了一个指针作为实例数
我不明白我的 NSScrollers 出了什么问题。 自从一段不定的时间以来(我一直在改变我的应用程序源代码中的很多内容,但不是它的 Xib 设计),我所有 的 NSScrollers配置有“Auto
我的应用程序中有以下模型。 Board,拥有下面 List 类型的 NSMutableArray 属性 lists List,包含下面 Card 类型的 NSArray 属性 cards Card,有
我有一个使用 XCode IB 构建的 3 列表格 (NSTableColumn)。 最后一列是“金额”,其前面的列是“说明”。当我调整窗口大小时,表格也会调整大小,但“金额”是跨度更宽的列。 如何固
我正在尝试以编程方式获取正在编辑的单元格的column.identifier。我试图通过为 NSControlTextDidBeginEditingNotification 注册 NSViewCont
我正在针对 Mac OS X 10.6 (Snow Leopard) 进行开发。当我在我的 NSTableView 的两个列标题之间双击时,左侧的列会自动调整大小,正如您所期望的那样。 我也想在上下文
我有一个 NSScrollView 和一个 NSTableView,其中有一些 NSTableColumn。当我按下按钮时,我用动画更改 NSScrollView 的宽度。这是我的代码: NSDict
我有一个带有单列的NSTableView。该列在 Interface Builder 中选中了“可编辑”,但双击 TableView 中的单元格不会执行任何操作。我已经确认(在 -tableView:
我的类有一个枚举属性。此属性绑定(bind)到 NSTableColumn。 typedef enum _Status { Unknown=0, Win, OSX } Stat
我在 Interface Builder 中创建了一个带有一些列的 NSTableView。我已将表格 View 设置为自动保存其设置(我在属性检查器中设置了自动保存名称并检查了列信息)。现在我想以编
我正在尝试创建一个以空字符串作为标识符的列,但每次我尝试创建该列时,Cocoa 似乎都将空字符串替换为“Field”一词。你如何解决这个问题? - (void)addColumnWithCheckbo
我在对 NSTableColumn 内容进行排序时遇到问题。在我的 NSTableView 中,有三列:文件、大小、路径。内容存储在 NSMutableArray 中。这个数组中的每个对象都是一个包含
我正在构建一个 Mac OS X 应用程序,该应用程序具有一个带有单个 NSTableColumn 的 NSTableView 和一个 NSSegmentedControl。当我选择不同的段时,我打算
有没有办法为 NSTableColumn 的每一行显示不同的小图像(图标)? 我不一定需要为其添加新列,我想知道是否可以在每行文本前面添加图标。 我知道有一个方法: - (void)setDataCe
型号 extension MyEntity { @nonobjc public class func fetchRequest() -> NSFetchRequest { re
我有一个包含 2 列的 NSTableView,其中单元格是普通的 NSTableCellView,其文本字段的文本是从字典中设置的。 这一切都是在 IB 中创建的,我只需将 TableView 拖/
我想在代码中以编程方式设置一些 NSTableColumns 的宽度(以便我可以在启动时恢复宽度),但我真的不知道如何应用文档中写的内容 for column in table.tableColumn
我正在尝试实现一种方法来清除所有项目和列的 NSTableView。但是当我尝试执行以下操作时发生崩溃: - (void)clearResultData { [resultArray remo
我是一名优秀的程序员,十分优秀!