Расширить UIButton в одно касание - PullRequest
0 голосов
/ 15 июля 2010

Я пытаюсь расширить класс UIButton для добавления моего свойства id.

Как я могу это сделать?

Проблема в том, чтобы создать кнопку, которую вы используете

var button = UIButton.FromType(UIButtonType.RoundRect);

итак, если у меня есть

public class MyButton : UIButton

как я могу создать свою кнопку?

спасибо.

Ответы [ 2 ]

1 голос
/ 15 июля 2010
class MyButton : UIButton
{
public MyButton(RectangleF rect) : base(rect) {}

static MyButton FromType(UIButtonType buttonType)
{
    var b = new MyButton (new RectangleF(0, 0, 200, 40));
    b.SetTitle("My Button",UIControlState.Normal);

    //additional customization here

    return b;
    }
}
1 голос
/ 15 июля 2010

Вот как бы вы создали свою кнопку:

MyButton button = new MyButton (new RectangleF(0, 0, 250, 37));
button.SetTitle("My Button",UIControlState.Normal);

Чтобы создать кнопку типа, который вы можете попробовать:

MyButton button = new MyButton (UIButtonType.RoundRect);

и посмотрите, вернет ли она кнопкуправильный тип, который наследуется от вашего класса MyButton - но я сомневаюсь в этом.Возможно, вам придется добавить изображение и изменить его размер самостоятельно:

UIImage image = UIImage.FromFile("action.png");
MyButton button = new MyButton (new RectangleF(0, 0, 250, 37));
button.SetBackgroundImage(image,UIControlState.Normal);

Не уверен, что есть другой способ, но, глядя на документы, UIButton.ButtonType доступен только для чтения, и нет метода SetType, поэтому вы можете установитьСвойство ButtonType класса UIButton путем его создания и передачи типа в конструктор.

w: //

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...