2016-12-24 1 views
1

Я создаю пользовательский вид с рисунком UIBezierPath. Я хочу обновить цвет заливки пользовательского цвета, когда изменения состояния основаны на ответе от сервера. Я использую свойство fillColor как параметр для обновления цвета представления. Как я могу изменить программный код fillcolor?Вызов вручную вручную

ответ

3

Вы должны никогда позвонить drawRect. Вместо этого позвоните по телефону setNeedsDisplay, и вам будет вызван drawRect. Что касается изменения цвета, это просто вопрос планирования впереди - поставьте цвет, где ваша drawRect рутина может его найти. Таким образом, например, если у вас есть свойство, содержащее цвет заливки, вы можете изменить его и вызвать setNeedsDisplay, и таким образом представление может быть перерисовано с использованием нового значения свойства цвета заливки.

+0

Мэтт говорит правду (как обычно). Вызов drawRect самостоятельно запрещен. Это будет «деформировать ваш ум, вычеркнуть позвоночник и заставить врага выиграть войну», перефразировать Джорджа Карлина. –