gpt4 book ai didi

objective-c - 如何有一个按钮转换到 NSView 之外?

转载 作者:行者123 更新时间:2023-12-03 17:37:44 25 4
gpt4 key购买 nike

我想实现一个转换到 NSView 之外的按钮。类似的按钮如下图所示。

最佳答案

如果您必须让 View 溢出窗口,则无法使用 CALayermasksToBound 属性来实现。您需要使用子无边框窗口并正确定位它。

这是一个示例(在 ObjC 中):

- (void)applicationDidFinishLaunching:(NSNotification *)aNotification {
// Insert code here to initialize your application


NSRect windowFrame = self.window.frame;
NSRect childWindowFrame = {
.origin.x = CGRectGetMidX(windowFrame) - 25,
.origin.y = CGRectGetMinY(windowFrame) - 25,
.size.width = 50,
.size.height = 50,
};

NSWindow *childWindow = [[NSWindow alloc] initWithContentRect:childWindowFrame
styleMask:NSWindowStyleMaskBorderless
backing:NSBackingStoreBuffered
defer:YES];
childWindow.backgroundColor = [NSColor clearColor];
childWindow.contentView.wantsLayer = YES;
childWindow.contentView.layer.backgroundColor = [NSColor redColor].CGColor;
childWindow.contentView.layer.cornerRadius = 25.0;



[self.window addChildWindow:childWindow ordered:NSWindowAbove];
}

此屏幕截图中的红色圆圈是子窗口。

overflowing child window

关于objective-c - 如何有一个按钮转换到 NSView 之外?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52233887/

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