假设我有一个名为mWindow
的窗口。为了增加高度,我会对框架执行此操作:
NSRect windowFrame = [mWindow frame];
windowFrame.size.height += 100.0f;
[mWindow setFrame:windowFrame];
但是,这会增加窗口的顶部的高度,而不是底部的高度。如何让它在底部而不是顶部添加更多窗口?
答案 0 :(得分:9)
由于坐标在Cocoa中的工作方式,你必须做一些额外的步骤来完成这项工作:
NSRect windowFrame = [mWindow frame];
windowFrame.size.height += 100;
windowFrame.origin.y -= 100;
[mWindow setFrame:windowFrame display:YES];
或者,您可以使用NSWindow的setFrameOrigin:
或setFrameTopLeftPoint:
方法。
答案 1 :(得分:1)
您可以随时相应地调整原点,即将其抬高并向下移动。
答案 2 :(得分:1)
我使用此代码段。您必须根据origin.y
offset
func change(height: CGFloat) {
var frame = window.frame
let offset = height - frame.size.height
frame.size.height += offset
frame.origin.y -= offset
window.setFrame(rect, display: true)
}