除非编辑,否则NSTextField占位符文本不会显示,我该怎么办?

时间:2016-07-19 08:32:00

标签: macos cocoa placeholder nstextfield

editing(编辑)not editing(不编辑)

我有Subclass NSTextFieldCell,然后覆盖此方法:

-(void)drawWithFrame:(NSRect)cellFrame inView:(NSView *)controlView
{
    NSRect customRect = cellFrame;
    customRect.origin.y = cellFrame.size.height - 1;
    customRect.origin.x = 0;
    NSColor *color = [NSColor grayColor];
    [color setFill];
    NSBezierPath *path = [NSBezierPath bezierPathWithRect:customRect];
    [path fill];
    [super drawWithFrame:customRect inView:controlView];
}

最后,我在Interface Builder

中设置了NSTextFieldCell的Class字段

1 个答案:

答案 0 :(得分:0)

虽然您的NSTextFieldCell仅显示其顶部(确切地说是1个像素高),但您并不清楚自己正在尝试做什么。

customRect.origin.y = cellFrame.size.height - 22;

如果您想要在不编辑时查看单元格,请将其向上移动(更改1到22等)。