首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在NSTextFieldCell中设置NSTableView框架

如何在NSTextFieldCell中设置NSTableView框架
EN

Stack Overflow用户
提问于 2016-11-16 12:23:37
回答 1查看 352关注 0票数 0

我面临的问题是如何在Mac中设置NSTextFieldCell的框架。我的NSTextFieldCell位于列的(0,0)点。我需要4px差距在Y位置。下面是现有UI的图像。

下面是.xib结构如下所示:

我试图设置框架的委托方法如下所示:

代码语言:javascript
复制
- (void)tableView:(NSTableView *)aTableView willDisplayCell:(id)aCell forTableColumn:(NSTableColumn *)aTableColumn row:(NSInteger)aRow
{
    if ([[aTableColumn identifier] isEqualToString:@"notes"])
    {
        [aCell setBackgroundColor:[NSColor redColor]];

        NSTextFieldCell *theCellView = aCell;
        NSView *controlView = [theCellView controlView];
        NSRect frame = controlView.frame;
        frame.origin.x = 120;
        frame.origin.y = 130;
        [controlView setFrame:frame];       
    }
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-11-16 15:50:43

细胞没有框架。单元格是轻量级对象,用于绘制拥有控件视图告诉它们的位置。表视图可以使用单个单元格绘制给定列的所有行。它将计算列的一行的帧,用来自该行和列的值配置单元格,并告诉单元格在它计算的框架中绘制自己。然后,它将为下一行配置单元格,并告诉单元格在该行的帧中绘制自己。等。

因此,您需要专注于表视图,而不是单元格来影响单元格绘制的框架,因为计算该框架的是表视图。您是否尝试过将intercellSpacing设置为具有非零height

此外,您应该考虑转换为一个基于视图的表视图,在那里您有更大的控制。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40632119

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档