Macos OSX中NSSecureTextFieldCell上的圆角

Macos OSX中NSSecureTextFieldCell上的圆角,macos,Macos,我已经设法将NSTextFieldCell子类化,以便在NSTextField上获得圆角。我想对NSSecureTextField执行同样的操作,但是子类化NSSecureTextFieldCell没有任何效果 视图中的-(void)drawWithFrame:(NSRect)cellFrame:(NSView*)controlView{..}永远不会被调用 有人能给NSSecureTextField提供更圆的角吗?如果是这样,完成这项工作的最佳方法是什么 感谢您的帮助。解决了这个问题。。以防有

我已经设法将NSTextFieldCell子类化,以便在NSTextField上获得圆角。我想对NSSecureTextField执行同样的操作,但是子类化NSSecureTextFieldCell没有任何效果

视图中的
-(void)drawWithFrame:(NSRect)cellFrame:(NSView*)controlView{..}
永远不会被调用

有人能给NSSecureTextField提供更圆的角吗?如果是这样,完成这项工作的最佳方法是什么


感谢您的帮助。

解决了这个问题。。以防有人在寻找解决方案。。 这是指向正确答案的链接。。以及代码片段

因此,上面提到的诀窍是。。在IB中添加常规文本字段。。但将其单元格设置为
CustomNSSecureTextFieldCell

@interface CustomNSSecureTextFieldCell : NSSecureTextFieldCell

@end


@implementation CustomNSSecureTextFieldCell

- (void)drawWithFrame:(NSRect)cellFrame inView:(NSView *)controlView {

    NSBezierPath *betterBounds = [NSBezierPath bezierPathWithRoundedRect:cellFrame xRadius:CORNER_RADIUS yRadius:CORNER_RADIUS];
    [betterBounds addClip];
    [super drawWithFrame:cellFrame inView:controlView];
    if (self.isBezeled) {
        [betterBounds setLineWidth:2];
        [[NSColor colorWithCalibratedRed:0.510 green:0.643 blue:0.804 alpha:1] setStroke];
        [betterBounds stroke];
    }
}
@end