如何设置 NSTextField 左上角原点?

How to set NSTextField top-left origin?

Swift4.1,Xcode9.3,cocoa应用程序

如何设置 NSTextField 左上角原点,使其始终显示在左上角,无论人们如何放大视图?

    @IBOutlet weak var inputFromTextField: NSTextField!
    @IBAction func buttonMain(_ sender: NSButton) {
    let labelMain = NSTextField(frame: CGRect(x: Int(view.frame.origin.x) + 10, y: Int(view.frame.origin.y), width: 100, height: 100))
    labelMain.textColor = NSColor.white
    labelMain.drawsBackground = true
    labelMain.backgroundColor = NSColor.orange
    self.view.addSubview(labelMain)
}

这显示为左下而不是左上。 大多数答案是针对 iOS 而不是 cocoa app.

您需要添加约束。以编程方式,共有三种方法:

  • 创建约束对象(困难的方法)
  • 使用视觉格式语言(更简单,兼容所有版本)
  • 使用指南(更简单,在 macOS 10.11 中引入)

我会给出示例,但 Apple 在自动布局指南的 Programmatically Creating Constraints 部分中已经对所有这三个示例进行了简明描述。