我对NSTableView有一个小问题.当我在表格中增加行的高度时,其中的文本在行的顶部对齐,但我想将其垂直居中对齐!
任何人都可以建议我这样做吗?
谢谢,
Miraaj
我有一个NSTableCellView带有3个文本字段的自定义,1个出现,另外2个是我自己创建的.这是问题所在:

即使单击该行,文本字段的文本颜色也保持不变.我试图实现我通过谷歌搜索发现的代码,但它不起作用.我的自定义NSTableCellView代码是:
- (void)drawRect:(NSRect)dirtyRect{
NSColor *color = [NSColor colorWithCalibratedRed:(26/255.0) green:(26/255.0) blue:(26/255.0) alpha:1.0];
[self.textField setTextColor:color];
color = [NSColor colorWithCalibratedRed:(102/255.0) green:(102/255.0) blue:(102/255.0) alpha:1.0];
[_lbl1 setTextColor:color];
[_lbl2 setTextColor:color];
}
- (void)setBackgroundStyle:(NSBackgroundStyle)backgroundStyle {
NSColor *color = (backgroundStyle == NSBackgroundStyleDark) ? [NSColor windowBackgroundColor] : [NSColor controlShadowColor];
self.textField.textColor = color;
self.lbl1.textColor = color;
self.lbl2.textColor = color;
[super setBackgroundStyle:backgroundStyle];
}
Run Code Online (Sandbox Code Playgroud)
当用户点击标签时,我该怎么做才能使标签的文字颜色变白?
我有NSTableView一个专栏.我想打印用户点击的行的行号.我不知道我应该从哪里开始.有这个方法吗?
如何在NSTableView中更改单元格的颜色?
我想把一个上下文菜单放到一个NSTableView.这部分完成了.我要做的就是根据右键单元格的内容显示不同的菜单条目,而不显示特定列的上下文菜单.
这是:
第0列,第1列没有上下文菜单
所有其他单元格应该具有如下的上下文菜单:
第一个条目:"删除"samerow.column1.value
第二个条目:"save"samecolumn.headertext
希望问题很清楚..
谢谢
-编辑-
右边的那个是上下文菜单对于任何给定单元格应该是什么样子.

我有一个NSTableView,我用以下代码更改行的高度:
- (CGFloat)tableView:(NSTableView *)tableView heightOfRow:(NSInteger)row
{
return 32;
}
Run Code Online (Sandbox Code Playgroud)
问题是,我的文本单元仍然与单元格顶部对齐,使其看起来很尴尬.我还没弄清楚如何垂直居中.还有其他人找到了解决方案吗?
是否可以使用Interface Builder设计NSTableView单元?我知道如果你的项目适用于iOS,这实际上是可能的,但不管怎么说,如果Mac OS X的话,IB不会渲染单元容器.
我需要为我的NSTable View 1更改以下属性 - 更改颜色:选择时的行颜色和文本颜色2 - 更改文本颜色,每行取决于某些输入参数,
为了改变每一行的textcolor,我应该覆盖委托方法willDisplayCell,这就是我所做的,直到现在,
- 创建表----
pMyTableView = [[[CustomTableView alloc] initWithFrame:clipViewBounds] autorelease];
NSTableColumn* firstColumn = [[[NSTableColumn alloc] initWithIdentifier:@"firstColumn"] autorelease];
[firstColumn setWidth:35];
[pMyTableView addTableColumn:firstColumn];
NSTableColumn* secondColumn = [[[NSTableColumn alloc] initWithIdentifier:@"secondColumn"] autorelease];
[secondColumn setWidth:180];
[pMyTableView addTableColumn:secondColumn];
[pMyTableView setRowHeight:30];
[self SetContactTableDisplayAttribute];
[pMyTableView setDataSource:self];
[scrollView setDocumentView:pOnLineCTView];
[pMyTableView setDelegate:self]
;
Run Code Online (Sandbox Code Playgroud)
---其他委托方法-------------
- (id) tableView:(NSTableView *)aTableView objectValueForTableColumn:(NSTableColumn *)aTableColumn row:(NSInteger)rowIndex{
if([pColName isEqualToString:@"secondColumn"])
{
// Here there is some logic , to get the proper string that i wanted to display
return @"tempString";
} …Run Code Online (Sandbox Code Playgroud) 我正在尝试将iOS应用程序移植到Mac上,并且在转换过程中遇到了一些问题.其中之一是定制NSTableView.究竟是什么区别NSCell,NSTableRowView和自定义NSView基于NSTableview?我最初开始时基于视图NSTableView,但我很快注意到我必须自己处理选择.我无法将其拉下来,所以我继续使用NSTableRowView,奇怪的是,它并没有调用我习惯的初始化器NSTableRowView.
我基本上只想要一个具有自定义内容的自定义表格视图单元格,这是可选择的.最好的方法是什么?
在iOS上,我只是子类UITableViewCell并设置其selectedView属性.在Mac上,这似乎比这更复杂.
我有一个基于视图的NSTableView,它通过绑定填充.我的textFields和imageViews绑定到NSTableCellView的objectValue属性.
如果我想在我的NSTableCellView中有一个编辑/信息按钮:
谁应该成为按钮动作的目标?
目标如何获得与按钮所在的单元格关联的objectValue?
我最终想要显示一个基于objectValue的popover/sheet.
nstableviewcell ×10
nstableview ×9
cocoa ×8
macos ×4
objective-c ×4
contextmenu ×1
nsbutton ×1
swift ×1
xcode ×1