开发者

Centering Windows on screen

Short and sweet: How can I tell Interface Builder to center a window on a user's screen? I've seen the positioning tool on the inspector, but eyeballing doesn't always land as squarely开发者_如何学编程 as I like. Is this something where I should switch over to Xcode and add something to the init or awakeFromNib methods?


You could use [window center] as answered by wahkiz, but that might not be exactly what you want. The documentation states that this will put the window centered horizontally, but somewhat above the vertical centre. In this way the window has a visual prominence.

If you want to put your window in the exact centre, then manual positioning (as commented by Koning Baard XIV) will work for you.


Use [window center]; for the centre of the window to be centred to the screen. Also, assuming you're in 10.5+, there is a centre to screen button in Interface Builder.


In your appdelegate, in applicationfinishedlaunching, add this code at the bottom.

[window center];


For macOS Mojave this worked for me, in AppDelegate applicationDidFinishLaunching for the Main Window:

[[[NSApplication sharedApplication] mainWindow] center];
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜