创建 NSView 的子类以启用 setTag()
create a subclass of NSView to enable setTag()
我正在使用 xamarin 开发一个 Mac 应用程序,我想在我的程序中的某处设置 NSView 的标签。但是,标签 属性 对于 NSView 是只读的,因此我正在寻找一种方法来创建标签可写的子类。关于我应该如何编写子类有什么建议吗?谢谢
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;
我找到了让 viewWithTag
正常工作的解决方法:
@IBInspectable
override var tag: Int {
get { return super.tag }
set { super.tag = newValue }
}
在IB中,NSView的Tag还是灰色的,但是也有一个子类的Tag可以设置值。
尽管如此,尽我最大的努力,我找不到在 IB 中将 Tag 灰显的合乎逻辑的原因。
我正在使用 xamarin 开发一个 Mac 应用程序,我想在我的程序中的某处设置 NSView 的标签。但是,标签 属性 对于 NSView 是只读的,因此我正在寻找一种方法来创建标签可写的子类。关于我应该如何编写子类有什么建议吗?谢谢
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;
我找到了让 viewWithTag
正常工作的解决方法:
@IBInspectable
override var tag: Int {
get { return super.tag }
set { super.tag = newValue }
}
在IB中,NSView的Tag还是灰色的,但是也有一个子类的Tag可以设置值。
尽管如此,尽我最大的努力,我找不到在 IB 中将 Tag 灰显的合乎逻辑的原因。