gpt4 book ai didi

macos - 如何在其 contentView 上拖动 NSWindow 和 NSImageView ?

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

我正在创建一个类似于 iTunes 迷你窗口的迷你窗口:

enter image description here

它是可拖动的并且上面有背景图像。

然后我创建了一个 NSWindow 的子类并重写了它的 initWithContentRect:styleMask:backing:defer: 方法,并添加了一个 NSImageView它:

- (id)initWithContentRect:(NSRect)contentRect styleMask:(NSUInteger)aStyle backing:(NSBackingStoreType)bufferingType defer:(BOOL)flag
{
contentRect.size = CGSizeMake(287, 287);
self = [super initWithContentRect:contentRect styleMask:aStyle backing:bufferingType defer:flag];
if (self)
{
[self setMovableByWindowBackground:YES];
[self setOpaque:NO];
[self setBackgroundColor:[NSColor colorWithCalibratedWhite:1.0 alpha:0.5]];

NSImageView *imageView = [[NSImageView alloc] initWithFrame:(CGRect){CGPointZero, contentRect.size}];
imageView.image = [NSImage imageNamed:@"MiniWindow.png"];
[self.contentView addSubview:imageView];
}
return self;
}

但是在我将 NSImageView 添加到窗口的 contentView 后,窗口变得不可拖动。

如何让窗口再次变得可拖动?

致以诚挚的问候

最佳答案

创建 NSImageView 的子类并重写 mouseDownCanMoveWindow 方法:

- (BOOL)mouseDownCanMoveWindow
{
return YES;
}

关于macos - 如何在其 contentView 上拖动 NSWindow 和 NSImageView ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19851029/

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