如何将focusRing颜色从蓝色更改为红色。
(这个问题是继续Generic validation on input,这里不是设置默认的蓝色焦点,而是需要红色焦点。)
默认情况如下:
我需要这样的东西(注意:显示的图像并不完美,如Box 中所示):
我从
尝试了一些事情答案 0 :(得分:1)
子类NSTextview并在代码
下面插入-(void)mouseEntered:(NSEvent *)theEvent{
CALayer *lay = [self layer];
CGColorRef myColor=CGColorCreateGenericRGB(0, 0, 1, 1);
[lay setBorderColor:myColor];
[lay setBorderWidth:4];
//[self setWantsLayer:YES];
[self setLayer:lay];
[self makeBackingLayer];
//CGColorRelease(myColor);
}
-(void)mouseExited:(NSEvent *)theEvent{
CALayer *lay = [self layer];
CGColorRef myColor=CGColorCreateGenericRGB(0, 0, 1, 1);
[lay setBorderColor:myColor];
[lay setBorderWidth:0];
//[self setWantsLayer:YES];
[self setLayer:lay];
[self makeBackingLayer];
//CGColorRelease(myColor);
}
-(void)updateTrackingAreas{
[super updateTrackingAreas];
if (trackingArea){
[self removeTrackingArea:trackingArea];
[trackingArea release];
}
NSTrackingAreaOptions options = NSTrackingInVisibleRect | NSTrackingMouseEnteredAndExited | NSTrackingActiveInKeyWindow;
trackingArea = [[NSTrackingArea alloc] initWithRect:NSZeroRect options:options owner:self userInfo:nil];
[self addTrackingArea:trackingArea];
}