使用图像作为NSTextField的背景

发布时间:2024年01月04日

1解决方法:你可以简单地做这样的:

NSImage *image = ...; //image for background 
[_textfieldOutlet setBackgroundColor:[NSColor colorWithPatternImage:image]]; 

结果:


2溶液:你也可以继承你的NSTextField这样:

#import "TextFieldSubclass.h" 

@implementation TextFieldSubclass 

- (void)awakeFromNib 
{ 
    [self setDrawsBackground:NO]; 
} 

- (void)drawRect:(NSRect)rect 
{ 
    [super drawRect:rect]; 

    NSImage *image = ...; //image for background 
    [image setFlipped:YES]; //image need to be flipped 

    //use this if You need borders 

    NSRect rectForBorders = NSMakeRect(2, 2, rect.size.width-4, rect.size.height-4); 
    [image drawInRect:rectForBorders fromRect:rectForBorders operation:NSCompositeSourceOver fraction:1.0]; 

    //if You don't need borders use this: 

    //[image drawInRect:rect fromRect:rect operation:NSCompositeSourceOver fraction:1.0]; 
} 

@end 

结果与边框:

结果无边框:

来源

2012-05-16 07:33:10

+0

谢谢!像魅力一样工作。 –?rsharma

+0

@etheory不客气。 –

文章来源:https://blog.csdn.net/weixin_42610770/article/details/135396617
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。