objective-c – 在透明窗口中舍入NSView

objective-c – 在透明窗口中舍入NSView,第1张

概述我正试图在那里制作一个透明的NSWindow. 我正在尝试使用透明窗口的圆形视图. 这就是现在的样子:(看到角落里的小圆点) 这是边框半径设置为10px的另一个示例(在NSView drawRect中设置): 我正在使用此Apple示例中的代码:https://developer.apple.com/library/mac/#samplecode/RoundTransparentWindow/In 我正试图在那里制作一个透明的NSWindow.

我正在尝试使用透明窗口的圆形视图.

这就是现在的样子:(看到角落里的小圆点)

这是边框半径设置为10px的另一个示例(在NSVIEw drawRect中设置):

我正在使用此Apple示例中的代码:https://developer.apple.com/library/mac/#samplecode/RoundTransparentWindow/Introduction/Intro.html

特别是我的NSWindow子类中的这个方法:

- (ID)initWithContentRect:(NSRect)contentRect                styleMask:(NSUInteger)aStyle                  backing:(NSbackingStoreType)bufferingType                    defer:(BOol)flag {    // Using NSborderlessWindowMask results in a window without a Title bar.    self = [super initWithContentRect:contentRect styleMask:NSborderlessWindowMask backing:NSbackingStoreBuffered defer:NO];    if (self != nil) {        // Start with no transparency for all drawing into the window        [self setAlphaValue:1.0];        // Turn off opacity so that the parts of the window that are not drawn into are transparent.        [self setopaque:NO];    [self setBackgroundcolor:[NScolor clearcolor]];    }    return self;}

这在我的NSVIEw子类中:

- (voID)drawRect:(NSRect)dirtyRect{    [[NScolor redcolor] set];    NSBezIErPath* thePath = [NSBezIErPath bezIErPath];    [thePath appendBezIErPathWithRoundedRect:dirtyRect xRadius:3 yRadius:3];    [thePath fill];}

谁能告诉我我在这里缺少什么?

谢谢.

解决方法 您是否正在寻找以下内容,其中有红色轮廓(笔划),但中心区域是透明的?

如果是这样,为了达到这个目的,我使用了以下代码:

- (voID)drawRect:(NSRect)frame {    frame = NSInsetRect(self.frame,3.0,3.0);    [NSBezIErPath setDefaultlinewidth:6.0];    NSBezIErPath *path = [NSBezIErPath bezIErPathWithRoundedRect:frame                                             xRadius:6.0 yRadius:6.0];    [[NScolor redcolor] set];    [path stroke];}

如果这就是您要找的东西,您可以将其作为起点.你需要确保将画面直线插入行程线宽的一半,以避免像你看到的那样剪裁角落的问题.

总结

以上是内存溢出为你收集整理的objective-c – 在透明窗口中舍入NSView全部内容,希望文章能够帮你解决objective-c – 在透明窗口中舍入NSView所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1003665.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-22
下一篇 2022-05-22

发表评论

登录后才能评论

评论列表(0条)

保存