如何将带有 xib 的自定义 NSView 添加到 NSViewController

问题描述

我想用 xib 创建通用的自定义 NSView,我想在任何需要的地方使用它。现在写我想把它添加到 NSViewController 视图中。我需要的功能是我可以将故事板中的这个自定义 NSView 类分配给任何视图。

我需要这样的东西:

  1. NSViewController
  2. 查看
  3. Subview(我将通过故事板将此视图标记自定义 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,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)

所以基本上我在这里缺少的东西,我不想要这种程序化的方法。我只想通过故事板设置它。看了很多文章都没找到满意的答案。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)