Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cocoa/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Cocoa 在AppStoreWindow中,如何在NSWindow中重新定位NSView';当调整大小时,标题栏是什么?_Cocoa_Nswindow_Inappstorewindow - Fatal编程技术网

Cocoa 在AppStoreWindow中,如何在NSWindow中重新定位NSView';当调整大小时,标题栏是什么?

Cocoa 在AppStoreWindow中,如何在NSWindow中重新定位NSView';当调整大小时,标题栏是什么?,cocoa,nswindow,inappstorewindow,Cocoa,Nswindow,Inappstorewindow,我正在使用InAppStorewindow()来压缩我的NSWindows标题栏。我想做的是在标题栏的中间位置添加一个徽标(图像): NSSize logoSize = self.logo.frame.size; NSRect logoFrame = NSMakeRect(NSMidX(self.window.titleBarView.bounds) - (logoSize.width / 2.f), NSMidY(self.wi

我正在使用InAppStorewindow()来压缩我的NSWindows标题栏。我想做的是在标题栏的中间位置添加一个徽标(图像):

NSSize logoSize = self.logo.frame.size;
NSRect logoFrame = NSMakeRect(NSMidX(self.window.titleBarView.bounds) - (logoSize.width / 2.f),
                                 NSMidY(self.window.titleBarView.bounds) - (logoSize.height / 2.f),
                                 logoSize.width, logoSize.height);

self.logo.frame = logoFrame;
我将上述代码放在ApplicationIDFinishedLaunching方法中


它工作正常,但是如果我点击绿色的调整大小按钮,位置不会改变。那么,当单击resize按钮并调用performZoom:时,我将如何调用上述代码来重新定位我的徽标?

您可以使用NSWindowDelegate方法

- (void)windowDidResize:(NSNotification *)notification
这样,您就可以知道何时调整窗口大小,以便重新计算徽标的位置