ios 4 setBackgroundColor не вызывается drawRect - PullRequest
0 голосов
/ 12 мая 2011

Это, вероятно, простой вопрос, но я действительно не могу ответить на него.

Я заполнил одно из демонстрационных приложений, показанных в классе CS193p.Это в основном очень простое представление с UISlider и пользовательским подпредставлением, которое выполняет рисование в зависимости от значения ползунка.(Это смайлик, довольно круто!)

Я решил добавить протокол делегата в настраиваемое представление, которое возвращает объект UIColor, чтобы, когда слайдер делал лицо счастливым, он также делал фонвид меняется с красного на зеленый.

Это отлично работает, но фон начинается как белый!Как только я касаюсь ползунка, BOOM переходит в КРАСНЫЙ и работает нормально ... но он начинается как БЕЛЫЙ ?!Почему? !!

Ответы [ 2 ]

0 голосов
/ 24 февраля 2013

Цвет фона изначально белый, потому что изменение backgroundcolor не меняет цвет сразу. Цвет меняется в следующий раз, когда вид перерисовывается, например, при перемещении ползунка.

0 голосов
/ 13 мая 2011

Не видя ваш код, я бы догадался, что цвет фона задается в nib-файле.Если вы не используете конструктор интерфейса, есть вероятность, что значением по умолчанию для фона является белый, но я не уверен в этом.

Я бы проверил ваш файл пера и увидел, каков цвет фона представленияустановлен в.Кроме того, я бы установил цвет фона для представления в вашем методе viewDidLoad так, как вы хотите, чтобы он начинался как.

Не стесняйтесь размещать часть вашего кода, если я далеко от базы ...

...