Применение преобразования к представлению не приводит к его перерисовке. Все, что он делает, это масштабирует слой представления, который является растровой текстурой, хранящейся в графическом процессоре. Это приведет к размытой графике.
При рисовании представления на iPhone вызывается -drawRect:
для предоставления содержимого для слоя представления. Затем этот контент кэшируется как текстура в графическом процессоре.
То, на что они ссылаются в руководстве, - это применение преобразования во время -drawRect:, когда рисуется векторная графика. Если вы используете преобразование там (через CGContextConcatCTM()
или подобное), круг будет нарисован плавно в большем масштабе. Тем не менее, вам также нужно изменить размер вашего представления, чтобы отразить эту большую форму. Я рекомендую использовать свойство scale
в вашем подклассе пользовательского представления, для которого вы можете установить другой масштабный коэффициент, который будет обрабатывать изменение размера представления и резкую перерисовку его содержимого.