Нарисуйте UIBezierPath в уменьшенном виде

У меня есть вид подписи, когда подпись сделана, я уменьшаю представление и сохраняю UIBezierPath. Когда я устанавливаю UIBezierPath в маленькое представление и вызываю setNeedsDisplay, представление не рисует линии. Может проблема в масштабе?
Большой вид
введите здесь описание изображения
Уменьшенный вид
введите здесь описание изображения
После установки пути и вызова setNeedsDisplay
введите здесь описание изображения


person Iraklii    schedule 08.04.2015    source источник
comment
Чтобы уточнить, вызывается ли drawRect: после вызова setNeedsDisplay?   -  person brigadir    schedule 08.04.2015
comment
@бригадир Да. Когда появляется родительское представление, я устанавливаю UIBezierPath и заставляю работать setNeedsDisplay и drawRect.   -  person Iraklii    schedule 08.04.2015
comment
В этом случае проблема внутри операции рисования. Я бы предложил нарисовать ограничивающий прямоугольник пути подписи, установить больший штрих и т. д., чтобы определить, что именно работает неправильно.   -  person brigadir    schedule 08.04.2015
comment
Вы также можете сделать снимок большой подписи в виде изображения, а затем применить его где угодно.   -  person krafter    schedule 08.04.2015


Ответы (1)


Попробуй использовать:

self.layer.transform = CATransform3DMakeScale(1./3., 1./3., 1);

это сделает ваш вид в 3 раза меньше, но фактический рисунок будет того же размера, поэтому координаты на вашем пути не будут перепутаны.

Для отображения SignatureView просто сделайте шкалу нормальной:

self.layer.transform = CATransform3DIdentity

Удачи ;)

person zurakach    schedule 08.04.2015