13

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

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

是否可以与等IBDesignable的子类一起使用...?我在网上看到了很多使用.NSControlNSButtonUIButton

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

需要明确的是,我可以在设计时显示 IBInspectable 属性;但任何更改似乎都不会在设计时实时渲染。

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

4

2 回答 2

0

我开始玩自定义NSButtonNSButtonCell.

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

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

我还发现了一个来自 Apple 的带有层支持的自定义复选框的示例。

于 2014-12-17T21:47:54.490 回答
0

您需要将一个NSButton拖到视图上,然后将自定义类设置为您的特定NSButton后代。不确定为什么从 NSView 开始时它不起作用。

可以给您提示的是NSButton特定属性不在“属性检查器”中。因此,在将控件拖到视图上时必须进行一些设置。

于 2018-06-05T18:32:49.047 回答