gpt4 book ai didi

objective-c - 如何让NSView的背景图片不重复?

转载 作者:行者123 更新时间:2023-12-03 16:29:09 25 4
gpt4 key购买 nike

我想复制以下CSS代码获得的效果:

background: white url(./img/background.png) no-repeat;

我编写了 NSView 的子类并以这种方式重写 drawRect:

- (void)drawRect:(NSRect)dirtyRect
{
dirtyRect = [self bounds];

[[NSColor whiteColor] setFill];
NSRectFill(dirtyRect);

[[NSColor colorWithPatternImage:[NSImage imageNamed:@"background.png"]] setFill];
NSRectFill(dirtyRect);
}

(我为我的英语不好道歉)

最佳答案

看看NSImage class reference 。可以使用 drawInRect:fromRect:operation:fraction: 绘制图像还有 drawAtPoint:fromRect:operation:fraction: .

所以你可以使用这个:

[[NSImage imageNamed:@"background.png"] drawInRect:dirtyRect fromRect:NSZeroRect operation:NSCompositeSourceOver fraction:1]; // Passing NSZeroRect causes the entire image to draw. 

而是这样:

[[NSColor colorWithPatternImage:[NSImage imageNamed:@"background.png"]] setFill];
NSRectFill(dirtyRect);

关于objective-c - 如何让NSView的背景图片不重复?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11231874/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com