Как нарисовать пунктирный прямоугольник на iphone? - PullRequest
2 голосов
/ 15 сентября 2009

Как нарисовать прямоугольник примерно так в iphone sdk, используя базовую графику

Screen Shot of the Crop Tool

Ответы [ 3 ]

4 голосов
/ 15 сентября 2009

Это пять прямоугольников.

Вы создаете CGPath для прямоугольника пунктирной линии, обводите его, а затем создаете четыре маленьких CGPath для маркеров и обводите их.

2 голосов
/ 16 сентября 2009

Я бы порекомендовал отказаться от ручек. Они имеют смысл, когда вы используете мышь; с сенсорным экраном, не так много.

2 голосов
/ 16 сентября 2009

В частности, если вы посмотрите фактическую справочную документацию по iPhone для CGPath, вы найдете раздел о CGPathAddRect. После этого вам, вероятно, пригодится раздел 2D-руководства по Рисование контура .

CGPathAddRect

Добавляет прямоугольник к изменяемому графическому пути.

void CGPathAddRect (
   CGMutablePathRef path,
   const CGAffineTransform *m,
   CGRect rect
);

Параметры
путь
Изменяемый путь для изменения.

м
Указатель на матрицу аффинного преобразования или NULL, если преобразование не требуется. Если указано, Quartz применяет преобразование к прямоугольнику перед добавлением его в путь.

Прямоугольник
Прямоугольник для добавления.

Обсуждение
Это вспомогательная функция, которая добавляет прямоугольник к пути, используя следующую последовательность операций:

// start at origin
CGPathMoveToPoint (path, m, CGRectGetMinX(rect), CGRectGetMinY(rect));

// add bottom edge
CGPathAddLineToPoint (path, m, CGRectGetMaxX(rect), CGRectGetMinY(rect));

// add right edge
CGPathAddLineToPoint (path, m, CGRectGetMaxX(rect), CGRectGetMaxY(rect);

// add top edge
CGPathAddLineToPoint (path, m, CGRectGetMinX(rect), CGRectGetMaxY(rect));

// add left edge and close
CGPathCloseSubpath (path);

Наличие
Доступно в iPhone OS 2.0 и более поздних версиях.

Объявлено в
CGPath.h

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...