objective-c - 使用 NSAffineTransform 进行 NSPanel 变换

标签 objective-c cocoa

这是一个相当简单的问题,我确信它并不难,但问题是......

我有一个居中的 NSpanel,然后在居中之后我需要进行变换以在 Y 坐标上向下移动窗口,同时保持居中的 X 坐标。

NSAffineTransform 是解决此问题的正确方法吗?是否有人有一个示例或想法来说明我需要做什么才能将该 nspanel 向下移动。再次感谢大家。

  NSRect windowFrame = NSMakeRect(0, 0, 500, 100);

    NSRect windowFrame2 = NSMakeRect(0, 100, 500, 150);

    window = [[HUDWindow alloc] initWithContentRect:windowFrame 
                                          styleMask:NSBorderlessWindowMask 
                                            backing:NSBackingStoreBuffered 
                                              defer:NO];
    [window setLevel:kCGDesktopWindowLevel + 1];

    window2 = [[Mainbox alloc] initWithContentRect:windowFrame2 
                                          styleMask:NSBorderlessWindowMask 
                                            backing:NSBackingStoreBuffered 
                                              defer:NO];
    [window2 setLevel:kCGDesktopWindowLevel + 1];
    [window center];
    [window2 center];

^我的项目中的一段代码

最佳答案

不,只需重置框架即可。

- (void)setFrame:(NSRect)windowFrame 显示:(BOOL)displayViews animate:(BOOL)performAnimation

关于objective-c - 使用 NSAffineTransform 进行 NSPanel 变换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3469478/

相关文章:

ios - 从 NSObject 呈现 UIViewController

objective-c - 属性字符串超链接未显示正确的光标

macos - 如何从 kCGWindowNumber 获取 NSWindow 大小?

ios - 无法从 NSString 获取 NSDate

ios - 如何在 ios 中通过 http get 请求在控制台中显示数据

swift - NSMenu() 中的 NSTextField 或 NSSecureTextField 作为 NSMenuItem()

arrays - Cocoa 中的循环链表

objective-c - NSTextField 内 NSStatusBar : focus and editable problems

objective-c - 将 iOS 棋盘游戏移植到 Mac,缺少的部分

iphone - 等待 MKReverseGeocoder 提供地址