3

我有一个NSTextFieldCell要在NSTextField.
如果我在 IB 上设置它,它工作正常。

在此处输入图像描述

这让它像这样工作:

在此处输入图像描述

但我想以编程方式设置它,我尝试这样的事情:

-(void)awakeFromNib{

    NSRect theRect = NSRectFromCGRect( NSMakeRect(50, 100, 100, 100));
    NSTextField *inputField = [[NSTextField alloc] initWithFrame:theRect];
    DRKHUDTextFieldCell *theC = [[DRKHUDTextFieldCell alloc] initTextCell:@"textfield"];
    [inputField setCell:theC];

    [[_window contentView] addSubview:inputField];

    }  

这是我得到的结果:

在此处输入图像描述

出了什么问题?我的代码是坏的还是什么?

4

2 回答 2

4

这是一个快速的工作解决方案。以上目标 C 的答案并不完整,因此对我不起作用。

let cell = CustomTextFieldCell(textCell: "")
self.cell = cell
self.isBordered = true
self.backgroundColor = .white
self.isBezeled = true
self.bezelStyle = .squareBezel
self.isEnabled = true
self.isEditable = true
self.isSelectable = true

如果更换属性,则需要重置所有cell属性。这些是默认值,请尝试根据您的情况设置您自己的值。

于 2017-08-02T07:28:37.953 回答
0

试试这种方式,它工作正常:

 NSRect theRect = NSRectFromCGRect( NSMakeRect(50, 100, 100, 100));

    NSTextField *inputField = [[NSTextField alloc] initWithFrame:theRect];

    NSTextFieldCell *theC = [[NSTextFieldCell alloc] initTextCell:@"textfield"];

    [inputField setCell:theC];

    [inputField setBordered:YES];

    [inputField setBackgroundColor:[NSColor whiteColor]];

    [inputField setBezeled:YES];

    [inputField setBezelStyle:0];

   [[_window contentView] addSubview:inputField];
于 2013-09-27T11:57:19.790 回答