将控件设置为绝对位置,与窗口调整大小无关

时间:2016-02-16 17:54:50

标签: swift macos cocoa location controls

我是Cocoa框架和Mac OS X编码的新手(使用swift),我无法弄清楚如何设置一个控件(在运行时创建)以在视图中使用绝对位置。例如,此代码将创建TextField并将其添加到视图中:

var label: NSTextField?
label = NSTextField()
label?.translatesAutoresizingMaskIntoConstraints = false
label?.frame = CGRectMake(10, 10, 100, 17)
label?.bordered = false
label?.drawsBackground = false
label?.cell?.title = "I'm a Label"
label?.cell?.editable = false
view.addSubview(label!)

生成的TextField是在相对于窗口左下角的位置创建的,我相信Y轴被翻转(不知何故),使得视图原点(0,0)位于左下角。此外,如果我调整窗口大小,控件随之移动,因此它的位置始终相对于该视图原点。如何以编程方式将控件的位置更改为绝对?

我尝试使用设计器添加一个控件,看看它是否表现相同但却没有。在设计时添加的控件具有绝对位置,并且在窗口大小调整时没有改变。

0 个答案:

没有答案