xib 파일을 로드하여 NSWindowContrller 보기
7150 단어 MacOSXSwiftNSWindowControllerxib
개요
Storyboard
에서 NSWindowController
(with xib 파일) 보기 참고
구현
NSWindowController
의 클래스를 정의한다. (이 때 xib 파일도 함께 생성) SampleWindowController.swift
import Cocoa
class SampleWindowController: NSWindowController {
// MARK: - Properties
let windowTitle: String
let message: String
@IBOutlet weak var messageLabel: NSTextField!
// MARK: - Lifecycle
init(withTitle title: String, message: String, window: NSWindow?) {
self.windowTitle = title
self.message = message
super.init(window: window)
}
required init?(coder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
override func windowDidLoad() {
super.windowDidLoad()
configureUI()
}
override var windowNibName: NSNib.Name? {
return String(describing: type(of: self))
}
// MARK: - Helpers
private func configureUI() {
window?.title = windowTitle
messageLabel.stringValue = message
}
}
xib
의 연결은 아래의 코드. 이것이 이번 포인트. SampleWindowController.swift
override var windowNibName: NSNib.Name? {
return String(describing: type(of: self))
}
ViewController
에서 호출하는 방법은 다음과 같습니다. ViewController.swift
var sampleWindowController: SampleWindowController?
// (中略)
@IBAction func openingWindowButtonClicked(_ sender: Any) {
let sampleWindowController = SampleWindowController(withTitle: "Title of SampleWindowController",
message: "passed message for SampleWindowController..",
window: nil)
sampleWindowController.showWindow(self)
self.sampleWindowController = sampleWindowController
}
Reference
이 문제에 관하여(xib 파일을 로드하여 NSWindowContrller 보기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/IKEH/items/48b012027ba5269060c2텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)