gpt4 book ai didi

swift - 调整 NSWindow 大小不会正确自动调整其 contentView 大小

转载 作者:行者123 更新时间:2023-11-30 11:31:34 26 4
gpt4 key购买 nike

我有一个带有 contentView 的 NSWindow 。在 NSWindowawakeFromNib() 中,我有以下代码:

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 就无法正确调整大小,如下图(第二张)所示:

图片一

enter image description here

图片二

enter image description here

我应该重写 resize(withOldSuperviewSize:) 方法来实现此目的吗? (界面生成器的自动调整大小也不能解决问题)

最佳答案

您不应该尝试像这样更改内容 View 的大小。我不相信它受到支持。该窗口控制内容 View 的大小。

如果您希望自己的 View 仅占据窗口内容区域的一部分,则应将您的 View 添加为内容 View 的 subview 。

关于swift - 调整 NSWindow 大小不会正确自动调整其 contentView 大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50202831/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com