5

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

- (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];

}

它有什么问题?如何解决?

4

1 回答 1

6

采用

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 屏幕从底部开始。

于 2014-07-01T15:17:47.840 回答