Свойство пользовательского элемента управления Xamarin IOS не отображается - PullRequest
0 голосов
/ 23 сентября 2018

Я создал свой собственный элемент управления для приложения 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();
        }

    }

1 Ответ

0 голосов
/ 23 сентября 2018

Я понял эту проблему.Там должен public конструктор вместо protected internal:

public CustomButton(IntPtr handle) : base(handle)
{
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...