Пользовательский цвет UIButton в MonoTouch - PullRequest
3 голосов
/ 30 января 2012

У меня возникают проблемы с программным трудом при кодировании цвета для UIButton с использованием MonoTouch. Стандартные кнопки RectRound белые, и мне нужно, чтобы эта кнопка была синей. Вот мой код:

     private void CreateButton() {
        RectangleF viewFrame = this.subView.Frame;
        RectangleF buttonFrame = new RectangleF (10f, viewFrame.Bottom - 200f, viewFrame.Width - 20f, 50f);

        this.buttonChangeColor = UIButton.FromType (UIButtonType.RoundedRect);
        this.buttonChangeColor.Frame = buttonFrame;
        this.buttonChangeColor.SetTitle ("Tap to change view color", UIControlState.Normal);
        this.buttonChangeColor.SetTitle ("Changing color...", UIControlState.Highlighted);
        this.buttonChangeColor.SetTitleColor (UIColor.Red, UIControlState.Normal);
 //This here is my attempt. The rounded rectangle remains white and I can see some blue peeking out from behind but I need the button to be blue, not the background
        this.buttonChangeColor.BackgroundColor = UIColor.Blue; 
        this.buttonChangeColor.TouchUpInside += this.buttonChangeColor_TouchUpInside;
        this.subView.AddSubview (this.buttonChangeColor);

    }

Большое спасибо за помощь!

Ответы [ 2 ]

2 голосов
/ 30 января 2012

Посмотрите на Можно ли вообще изменить цвет фона UIButtons?

Это объясняет, почему для UIButtonType.RoundedRect вы не сможете изменить цвет фона, как вы ожидаете. То есть Вам нужно будет создать кнопку Custom и продублировать округло-прямоугольный вид.

1 голос
/ 01 августа 2012

Я сделал это в своем предыдущем ответе, чтобы опубликовать, поэтому проверьте ссылку, которую я вставил динамически изменять цвет UIButton

...