изменить цвет и ширину некоторых нарисованных линий в UIImageView - PullRequest
0 голосов
/ 21 сентября 2011

Я рисую некоторые черные линии в UIImageViewtouchesBegan и touchesMoved методах), и есть один UISlider для изменения ширины этих линий и некоторые кнопки для изменения их цвета.

Как это можно сделать с помощью CoreGraphics?

...
UIGraphicsBeginImageContext(theImage.size);
CGContextRef context = UIGraphicsGetCurrentContext();
CGContextSetLineWidth(context, theNewWidth);
...

Спасибо

1 Ответ

0 голосов
/ 21 сентября 2011

Во-первых, вы не должны пытаться рисовать на UIImageView. Вместо этого создайте свой собственный подкласс UIView и переопределите -drawRect:. Когда события для этих элементов управления UI запускаются, просто вызовите -setNeedsDisplay в вашем классе представления, чтобы попросить его перерисовать. Кроме того, установите некоторые свойства в вашем классе представления (например, lineWidth, lineColor).

В -drawRect: используйте Core Graphics, чтобы перерисовать ваше представление новыми значениями, указанными пользователем.

Вы можете посмотреть Руководство по программированию Quartz 2D для получения всей необходимой информации о рисовании с помощью Core Graphics. Также ознакомьтесь с примером проекта QuartzDemo от Apple. Он демонстрирует многие, если не все, возможности Core Graphics.

...