我有一个NSWindow
,它的内容是ViewView。在awakeFromNib()
的{{1}}中,我有以下代码:
NSWindow
我正在尝试在中心设置override func awakeFromNib()
{
super.awakeFromNib()
/// Customize Window through XIBs
self.title = "Main Window"
let screenFrame = NSScreen.main?.frame
let windowPercentage: CGFloat = 0.9;
let offset: CGFloat = (1.0 - windowPercentage) / 2.0;
let windowFrame: NSRect = NSRect(x: (screenFrame?.width)! * offset, y: (screenFrame?.height)! * offset, width: (screenFrame?.width)! * windowPercentage, height: (screenFrame?.height)! * windowPercentage )
self.setFrame(windowFrame,display: true,animate: true)
self.backgroundColor = NSColor.lightGray
self.isRestorable = true
// Customize contentView
let viewPercentage: CGFloat = 0.6
self.contentView?.setFrameSize(NSSize(width: self.frame.size.width * viewPercentage, height: self.frame.size.height))
self.contentView?.setFrameOrigin( NSMakePoint( ( (self.frame.width) - (self.contentView?.frame.width)! )/2, ( (self.frame.height) - (self.contentView?.frame.height)!)/2) )
self.contentView?.autoresizingMask = [.width, .height, .minXMargin,.maxXMargin,.maxYMargin,.minYMargin]
}
并使用其contentView
帧的百分比,但是当我调整窗口大小时,它会失败。一旦我开始调整窗口的大小,NSWindow
它就没有正确调整大小,正如您从下图所示(第二个):
图片一
图片二
我应该覆盖contentView
方法来实现这一目标吗? (同样来自界面构建器的自动调整大小也无法解决问题)
答案 0 :(得分:0)
您不应该尝试更改内容视图的大小。我不相信它是支持的。该窗口控制内容视图的大小。
如果您希望自己的视图仅占用窗口内容区域的一部分,则应将视图添加为内容视图的子视图。