2013-06-03 7 views
-3

Как нарисовать перекрестье в приложении iOS?Рисование перекрестия с iOS CoreGraphics

- (void)drawRect:(CGRect)rect 
{ 
    CGContextRef context = UIGraphicsGetCurrentContext(); 
    CGContextSetRGBStrokeColor(context, 1.0, 1.0, 0.0, 0.5); // yellow line 
    CGContextBeginPath(context); 
    CGContextMoveToPoint(context, 40.0, 40.0); //start point 

    // Crosshairs go here?!?!?!? 
    // What do I fill in? 

    CGContextClosePath(context); 
    CGContextSetLineWidth(context, 2.0); 
    CGContextStrokePath(context); 
    CGContextSetRGBFillColor(context, 1.0, 1.0, 1.0, 0.0); 
    CGContextFillRect(context, rect); 
} 

См. Пример изображения ниже.

enter image description here

+2

Вы смотрите на Quartz 2D Programming Guide? Все, что вам нужно, это две линии и круг. – rmaddy

+0

Да, я читал, но получал формы, а не линии. Мне пришлось переходить к чему-то еще и подумать, что я спрошу. Полагаю, что это обескураживает. :-( –

ответ

3

Это должно помочь вам начать работу в том, что вам не хватает. Вы очень близки. Добавьте эллипс, и вы сделаете это, но, как предложили другие, простой быстрый просмотр руководства по программированию Quart2d или любого из Quart2d tuts покажет все это и многое другое.

Drawing a circle

- (void)drawRect:(CGRect)rect 
{ 
    CGContextRef context = UIGraphicsGetCurrentContext(); 

    CGContextSetStrokeColorWithColor(context, [UIColor yellowColor].CGColor); 
    CGContextSetLineWidth(context, 2.0); 
    CGContextBeginPath(context); 
    CGContextMoveToPoint(context, 20, 20); 
    CGContextAddLineToPoint(context, 40, 20); 
    CGContextStrokePath(context); 

    CGContextSetStrokeColorWithColor(context, [UIColor yellowColor].CGColor); 
    CGContextSetLineWidth(context, 2.0); 
    CGContextBeginPath(context); 
    CGContextMoveToPoint(context, 30, 10); 
    CGContextAddLineToPoint(context, 30, 30); 
    CGContextStrokePath(context); 

} 
+0

Эй, это здорово, спасибо за помощь! Я только что добавил CGContextStrokeEllipseInRect (контекст, CGRectMake (23.8, 14.4, 12, 12)); Теперь я могу сделать значения относительными. Я очень ценю вашу помощь. –

+1

Вы приветствуем и немного дружелюбный совет, ИМО, причина для всех голосов - это формулировка вашего вопроса. В следующий раз попробуйте объяснить, что вы пробовали, и ожидаемый результат, не заставив его звучать как вопрос «сделайте мою домашнюю работу» Люди любят помогать здесь, но только по конкретным вопросам, которые показывают, что исследование сделано. Счастливое кодирование! –

Смежные вопросы