在我的应用程序中,我有一个NSWindow和不同的CustomViews ...... 我的目标只是改变窗口的contenView。 我用一个按钮将主窗口放在屏幕中央,按下按钮后执行以下代码
[mainWindow setFrame:[mainView frame] display:TRUE animate:TRUE];
[mainWindow setContentView:mainView];
这个工作正常但是在调整窗口大小之后是在屏幕的左下角.. 我希望它留在屏幕的中心
当我使用
时[mainWindow center];
它将移动到左下角并且在调整大小后跳转到中心..不完全它应该只停留在屏幕中间
答案 0 :(得分:2)
你的窗户移动到左下角的原因是
[mainWindow setFrame:[mainView frame] display:YES animate:YES];
[mainView frame].origin
为NSZeroPoint
,而没有超级视图。如果您希望窗口保持居中,则需要setFrameOrigin:
。我建议使用NSMidX()
和NSMidY()
来计算屏幕中心的偏移量。