NSPopUpButton导致IBDesignable无法渲染

问题描述

我正在尝试制作一个具有NSPopUpButton的可重用视图。运行应用程序时,视图加载良好,但是Interface Builder无法呈现IBDesignable,并发出警告:

无法渲染PopUpView实例:渲染视图花费的时间更长 超过200ms。您的绘图代码可能会降低性能

XCode 11.6(11E708)

代码

@IBDesignable
class PopUpView: NSView {
    
    let popUp = NSPopUpButton()
    
    required init?(coder: NSCoder) {
        super.init(coder: coder)
        self.setup()
    }

    override func prepareForInterfaceBuilder() {
        super.prepareForInterfaceBuilder()
        self.setup()
    }

    func setup() {
        self.addSubview(self.popUp)
        self.popUp.menu?.addItem(.init(title: "Item 1",action: nil,keyEquivalent: ""))
        self.popUp.menu?.addItem(.init(title: "Item 2",keyEquivalent: ""))
    }
    
    override func layout() {
        super.layout()
        let height = self.popUp.intrinsicContentSize.height
        self.popUp.frame = CGRect(x: 0,y: self.bounds.maxY - height,width: self.bounds.width,height: height)
    }

}

这是该视图在Interface Builder中的外观。

enter image description here

解决方法

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

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

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