Я создал свой собственный элемент управления для приложения Xamarin.IOS и создал для него собственное свойство.И я хочу установить значение этого свойства в наборе инструментов Visual Studio Properties, но ни VS, ни Xcode не отображают никаких пользовательских свойств.Я должен установить пользовательский интервал текста Kern для пользовательских кнопок, и я не хочу использовать какие-либо хитрые или уродливые способы его сортировки.
Вот мой код пользовательского элемента управления:
[Register("CustomButton"), DesignTimeVisible(true)]
public class CustomButton : UIButton
{
private float _textLetterSpacing;
protected internal CustomButton(IntPtr handle) : base(handle)
{
}
[Export("TextLetterSpacing"), Browsable(true)]
public float TextLetterSpacing
{
get => _textLetterSpacing;
set
{
_textLetterSpacing = value;
SetNeedsDisplay();
}
}
public CustomButton()
{
Initialize();
}
public override void AwakeFromNib()
{
// Called when loaded from xib or storyboard.
Initialize();
}
void Initialize()
{
TextLetterSpacing = -0.49f;
var title = this.Title(UIControlState.Normal);
var attributedTitle = new NSAttributedString(title, new UIStringAttributes() { KerningAdjustment = TextLetterSpacing, ForegroundColor = this.CurrentTitleColor });
this.SetAttributedTitle(attributedTitle, UIControlState.Normal);
SetNeedsDisplay();
}
}