sam*_*sam 22 cocoa nstextfield nstextfieldcell
我想在Interface Builder中设置的NSTextFields有阴影.我已经实现了一种方法,这似乎有效,但我不确定它是否正确.
我所做的是将NSTextFieldCell子类化为如下,然后将我的子类设置为IB中的NSTextField的单元格类型.这种方法有问题吗?有没有更好的办法?
#import "ShadowTextFieldCell.h"
static NSShadow *kShadow = nil;
@implementation ShadowTextFieldCell
+ (void)initialize
{
kShadow = [[NSShadow alloc] init];
[kShadow setShadowColor:[NSColor colorWithCalibratedWhite:0.f alpha:0.08f]];
[kShadow setShadowBlurRadius:0.f];
[kShadow setShadowOffset:NSMakeSize(0.f, -2.f)];
}
- (void)drawInteriorWithFrame:(NSRect)cellFrame inView:(NSView *)controlView
{
[kShadow set];
[super drawInteriorWithFrame:cellFrame inView:controlView];
}
@end
Run Code Online (Sandbox Code Playgroud)
zpa*_*ack 10
您可以使用NSCell而不是子类 setBackgroundStyle:
[[aTextField cell] setBackgroundStyle:NSBackgroundStyleRaised];
Run Code Online (Sandbox Code Playgroud)
看到这个类似的问题 ;
| 归档时间: |
|
| 查看次数: |
5474 次 |
| 最近记录: |