设置 NSWindow 在当前屏幕中的位置 [英] Setting NSWindow position in current screen

查看:200
本文介绍了设置 NSWindow 在当前屏幕中的位置的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我是objective-c的新手.我创建了一个主窗口,我想在当前屏幕的右下角显示它.我尝试了以下代码

I am newbie in objective-c.I have created a main window which I want to display in the right bottom of the current screen. I tried the following code

- (void)windowDidLoad
{
    NSPoint pos;

    pos.x = [[NSScreen mainScreen] visibleFrame].origin.x + [[NSScreen mainScreen] visibleFrame].size.width - [mywindow frame].size.width ;

    pos.y = [[NSScreen mainScreen] visibleFrame].origin.y + [[NSScreen mainScreen] visibleFrame].size.height - [mywindow frame].size.height;

    [mywindow setFrameTopLeftPoint:pos];

}

里面有什么问题?如何解决?

what is wrong with in it? How to resolve it?

推荐答案

使用

NSPoint pos; 
pos.x = [[NSScreen mainScreen] frame].size.width - [mywindow frame].size.width ;

pos.y = 0.0f;

[self.window setFrame:CGRectMake(pos.x, pos.y, [mywindow frame].size.width , [mywindow frame].size.height) display:YES];

因为 [[NSScreen mainScreen] frame].origin.x 将始终为 0.如果是 mac 屏幕,则从底部开始.

Because [[NSScreen mainScreen] frame].origin.x will always be 0. And in case of mac screen starts from bottom.

这篇关于设置 NSWindow 在当前屏幕中的位置的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆