我正在以编程方式将NSView添加到NSWindow。我想让新视图显示在左上方并填充整个窗口。

我一直在忙于自动布局,手动设置框架和自动调整蒙版大小(显然不是同时),但是我一无所获。视图要么根本不调整大小,要么按比例调整大小(使用自动调整大小的蒙版),但不会填满整个空间。我一定缺少基本的东西。

我是Mac Cocoa的新手,尽管我在iOS Cocoa Touch上经验丰富。在iOS上,CGPoint 0,0位于左上方。我从Mac上看到的是它的左下角。您如何确定左上角是什么?

最佳答案

使用如下所示的自动调整大小蒙版应该可以解决问题:

view.autoresizingMask = NSViewHeightSizable|NSViewWidthSizable


缺少其他调整大小的蒙版会使边距不灵活。因此,无论当前的边距是多少(当您将其添加到窗口时,所有边均为零-假设视图在添加时占据整个窗口框架)。

左上方是窗口的内容视图的高度。

[[self.window.contentView frame].size.height]


我想你已经知道了。 :)

关于macos - 在左上方添加NSView并填充窗口,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/22204672/

10-10 20:37