Мое приложение OS X пытается программно создать окно, как показано ниже (предложено другим вопросом SO, который я видел ранее):
class MyViewController: NSViewController {
override func loadView() {
let view = NSView(frame: NSMakeRect(0,0,300,100))
view.wantsLayer = true
view.layer?.borderWidth = 2
view.layer?.borderColor = NSColor.red.cgColor
self.view = view
}
}
let viewController = MyViewController()
let window = NSWindow(contentRect: someFrame, styleMask: [.resizable, .closable, .miniaturizable, .titled], backing: NSBackingStoreType.buffered, defer: false)
window.contentView?.addSubview(viewController.view)
window.makeKeyAndOrderFront(nil)
Я могу успешно создавать окна с помощью приведенного выше кода. Однако мой вопрос: как сделать представление, созданное в loadView
внутри контроллера представления, того же размера, что и представление содержимого окна?
Прямо сейчас он создает представление с фиксированными числами (0, 0, 300, 100). Как сделать это представление того же размера, что и окно, используя автоматическую компоновку, чтобы при изменении размера окна это представление также изменялось автоматически?