Цвет фона для подкласса UIButton? - PullRequest
0 голосов
/ 27 июня 2011

У меня есть подкласс UIButton, который я инициализирую как:

MyButton *button = [MyButton buttonWithType:UIButtonTypeCustom];

Я хочу установить цвет фона этой кнопки.

Если я сделаю следующее в контроллере вида после создания кнопки:

MyButton.backgroundColor = [UIColor ...];

Работает нормально. Но если я попытаюсь сделать следующее в подклассе UIButton, либо в initWithFrame, либо в DrawRect:

self.backgroundColor = [UIColor ...];

Это просто ничего не делает. Кнопка остается прозрачной.

Дело в том, что моя логика такова, что мне действительно нужно установить цвет внутри подкласса UIButton, а не в вызывающем коде.

Есть идеи?

Ответы [ 2 ]

1 голос
/ 27 июня 2011

UIButton не предназначен для использования в подклассах. Это кластер классов, и вы почти наверняка ошибетесь (он может сломаться сейчас или в будущем). Базовый метод buttonWithType: также никогда не вернет экземпляр вашего класса, поэтому вам нужно приложить все усилия, чтобы весь ваш код работал.

Лучший способ - создать фабричный метод, использующий UIButton.buttonWithType: и настраивающий кнопку так, как вам нужно.

0 голосов
/ 27 июня 2011

Можете ли вы реализовать метод "Buttonwithtype" в своем подклассе и написать там код self.backgroundColor = [UIColor WhwhatColor];

Это должно работать.дайте мне знать.

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