macos – 如何在其contentView上使用NSImageView拖动NSWindow?

macos – 如何在其contentView上使用NSImageView拖动NSWindow?,第1张

概述我正在创建一个像iTunes mini窗口一样的迷你窗口: 它是可拖动的,并有一个背景图像. 然后我创建了一个NSWindow的子类并覆盖了它的initWithContentRect:styleMask:backing:defer:方法,并为其添加了一个NSImageView: - (id)initWithContentRect:(NSRect)contentRect styleMask:(NSU 我正在创建一个像iTunes mini窗口一样的迷你窗口:

它是可拖动的,并有一个背景图像.

然后我创建了一个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上使用NSImageView拖动NSWindow?全部内容,希望文章能够帮你解决macos – 如何在其contentView上使用NSImageView拖动NSWindow?所遇到的程序开发问题。

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

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

原文地址: https://outofmemory.cn/web/1025324.html

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

发表评论

登录后才能评论

评论列表(0条)

保存