Interface Builder的新IBDesignable属性是否适用于Cocoa中的NSButton和其他控件?

Sam*_*Sam 10 xcode cocoa interface-builder swift ibdesignable

我已设法IBDesignable/IBInspectable使用直接子类NSView但不使用直接子类的属性NSButton.这让我质疑,实际上Cocoa的实现是否仅限于此NSView.

几乎Web上的每个示例(以及Apple WWDC 2014 Xcode视频)都使用NSView然后将自定义视图组件从库中拖到画布上(然后更改其类).

是否有可能使用IBDesignable与子类NSControlNSButton等...?我在网上看过很多使用的例子UIButton.

如果有可能,那么你应该从库中拖到画布上的是什么?将它作为"自定义视图"是没有意义的.另一方面,没有"自定义控件"可用.

为了清楚起见,我可以在设计时显示IBInspectable属性; 但任何更改似乎都不会在设计时生成渲染.

解决方法是NSButton在一个NSView(通过组合)中包装我想要创建的任何自定义,但这看起来有点像黑客......

cat*_*lan 0

我开始尝试一个自定义的NSButtonNSButtonCell.

将按钮从库拖到画布上并更改其类,并且单元类不会实时渲染。我认为这是因为 Interface Builder 仍然做了很多自定义的设置NSButtonCell

对我来说效果很好的是将自定义视图从库拖到画布上并设置其类。为此,您需要在 NSButtons 内设置单元格-initWithCoder:

我还发现了一个来自 Apple 的示例,其中包含一个分层支持的自定义复选框。