Я использую xamarin для разработки приложения для Mac, и где-то в моей программе я хочу установить тег NSView. Однако свойство тега доступно только для чтения для NSView, поэтому я ищу способ создать подкласс, в котором тег доступен для записи. Есть ли какие-либо предложения о том, как мне написать подкласс? Благодарность
создайте подкласс NSView, чтобы включить setTag()
Ответы (2)
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;
person
pinedax
schedule
05.06.2017
Я нашел обходной путь, чтобы заставить viewWithTag
работать:
@IBInspectable
override var tag: Int {
get { return super.tag }
set { super.tag = newValue }
}
В IB тег NSView по-прежнему неактивен, но есть также тег подкласса, доступный для установки значения.
Тем не менее, как я ни старался, я не могу найти логическую причину, по которой тег неактивен в IB.
person
cyanide
schedule
26.07.2018