我想用 xib 创建通用的自定义 NSView,我想在任何需要的地方使用它。现在写我想把它添加到 NSViewController 视图中。我需要的功能是我可以将故事板中的这个自定义 NSView 类分配给任何视图。
我需要这样的东西:
这是我的代码:
class TestCustomView: NSView {
@IBOutlet var contentView: NSView!
override func draw(_ dirtyRect: NSRect) {
super.draw(dirtyRect)
}
override init(frame frameRect: NSRect) {
super.init(frame: frameRect)
Bundle.main.loadNibNamed("TestCustomView", owner: self, topLevelObjects: nil)
let contentFrame = NSMakeRect(0, 0, frame.size.width, frame.size.height)
self.contentView.frame = contentFrame
self.addSubview(contentView)
}
required init?(coder: NSCoder) {
super.init(coder: coder)
}
}
使用此代码,我可以添加自定义视图,但是当我在此自定义视图中添加子视图时,它不可见。其次要添加这个视图,我需要像这样以编程方式添加它:
let testCustomView = TestCustomView(frame: CGRect(x: 0, y: 0, width: 548, height: 400))
testCustomView.translatesAutoresizingMaskIntoConstraints = false
mysubview.addSubview(testCustomView)
所以基本上我在这里缺少的东西,我不想要这种程序化的方法。我只想通过故事板设置它。看了很多文章都没找到满意的答案。