Масштаб UIView с градиентом - PullRequest
1 голос
/ 07 февраля 2012

Я занимаюсь разработкой анимированной столбчатой ​​диаграммы и у меня возникли некоторые проблемы. Полосы отображаются с масштабной анимацией. В начале все столбцы имеют размер в 1 точку и будут масштабироваться до заданной высоты.

Дело в том, что я хочу нарисовать градиент в столбцах (это подклассы UIView) и хочу, чтобы масштабная анимация пересчитывала градиент.

До сих пор я рисовал градиент, но когда масштаб столбца, градиент не масштабируется вместе с ним. Поскольку представление имеет высоту в 1 точку, градиент отображается только одним цветом.

Может кто-нибудь дать мне север, чтобы решить эту проблему?

Ответы [ 2 ]

1 голос
/ 08 февраля 2012

Решил проблему!

Я использовал масштаб вместо изменения границ представления. Был

view.transform = CGAffineTransformMakeScale(1.0, scaleY.floatValue);

Должно быть

view.bounds = CGRectMake(view.bounds.origin.x, view.bounds.origin.y * scaleY.floatValue, view.bounds.size.width, view.bounds.size.height * scaleY.floatValue);

Где scaleY был рассчитан ранее и является NSNumber, который содержит масштабный коэффициент Y. Нет необходимости устанавливать

 view.contentMode = UIViewContentModeRedraw;

Спасибо DarkDusk за помощь.

0 голосов
/ 07 февраля 2012

Попробуйте установить contentMode:

myView.contentMode = UIViewContentModeRedraw;

Это приведет к перерисовке при каждом изменении размера.

...