我正在使用xamarin开发Mac应用程序,在我的程序中某处我想设置NSView的标记。但是,标签属性对于NSView是只读的,所以我正在寻找一种方法来创建一个标签可写的子类。关于如何编写子类,有什么建议吗?感谢
答案 0 :(得分:0)
public class MyNSView : NSView
{
public nint _tag;
public new nint Tag
{
get
{
return _tag;
}
set
{
_tag = value;
}
}
请注意,这不再是NSView
标记。
使用自定义NSView
代码
var view = new MyNSView ();
view.Tag = 100;
答案 1 :(得分:0)
我找到了一种解决方法来使viewWithTag
工作:
@IBInspectable
override var tag: Int {
get { return super.tag }
set { super.tag = newValue }
}
在IB中,NSView的标签仍然显示为灰色,但是还有一个子类的标签可用于设置值。
尽我所能,我找不到在IB中将Tag变灰的逻辑原因。