Xcode 拖动以NSImage为控制柄的窗口?

Xcode 拖动以NSImage为控制柄的窗口?,xcode,macos,window,handle,Xcode,Macos,Window,Handle,我正在编写一个mac应用程序,并使用此代码隐藏窗口句柄 [self.window setStyleMask:NSBorderlessWindowMask]; 这很好,但是我仍然需要一个控制柄来在窗口周围移动,那么有没有一种方法可以从另一个对象(比如NSImage)在窗口周围移动,就像窗口控制柄一样 我的图像的代码在.h中 @interface WOWAppDelegate : NSObject <NSApplicationDelegate> { NSWindow *

我正在编写一个mac应用程序,并使用此代码隐藏窗口句柄

[self.window setStyleMask:NSBorderlessWindowMask];
这很好,但是我仍然需要一个控制柄来在窗口周围移动,那么有没有一种方法可以从另一个对象(比如NSImage)在窗口周围移动,就像窗口控制柄一样

我的图像的代码在.h中

@interface WOWAppDelegate : NSObject <NSApplicationDelegate> {
        NSWindow *window;
    IBOutlet NSImageView* winView;

}

因此,图像正在工作并显示如何链接该函数?

在NSView子视图上钩住鼠标标记事件

-(void)mouseDragged:(NSEvent *)theEvent
{       
CGFloat deltax = [theEvent deltaX];
CGFloat deltay = [theEvent deltaY];

NSRect frame = [[self window] frame];
frame.origin.x += deltax;
frame.origin.y -= deltay;

[[self window] setFrameOrigin:frame.origin];    
}
所以

  • 子类NSView作为XView
  • 将句柄图像放置在此视图容器的实例中
  • 将容器放置在windows主视图中所需的位置
  • 在XView中使用此片段拖动窗口
  • 使用mouseDown和MouseUp事件调整行为

  • 钩住NSView子视图上的鼠标标记事件

    -(void)mouseDragged:(NSEvent *)theEvent
    {       
    CGFloat deltax = [theEvent deltaX];
    CGFloat deltay = [theEvent deltaY];
    
    NSRect frame = [[self window] frame];
    frame.origin.x += deltax;
    frame.origin.y -= deltay;
    
    [[self window] setFrameOrigin:frame.origin];    
    }
    
    所以

  • 子类NSView作为XView
  • 将句柄图像放置在此视图容器的实例中
  • 将容器放置在windows主视图中所需的位置
  • 在XView中使用此片段拖动窗口
  • 使用mouseDown和MouseUp事件调整行为

  • 我是应用程序编程新手,那么如何链接所有内容?我是应用程序编程新手,那么如何链接所有内容?