2012-04-30 2 views
0

У меня есть класс NSApplicationDelegate, где я заселяю NSMutableArray *coordinate с большой координатой x, y.как рисовать всю строку в NSMutableArray

Как я могу рассказать классу NSView рисовать все внутри массива? Как я могу передать массив классу NSView?

спасибо.

ответ

1

Это зависит от того, как координаты хранятся в массиве, но вы, вероятно, захотите создать NSBezierPath:

// Maybe make bezPath an instance variable of your view? 
NSBezierPath *bezPath = [NSBezierPath bezierPath]; 

[bezPath setLineWidth:1.0]; 
// set up other parameters here 

[bezPath moveToPoint:NSMakePoint(firstX, firstY)]; 

// loop over your source coordinates 
for (i = 0; i < ... etc ...) 
{ 
    [bezPath lineToPoint:NSMakePoint(source[i].x, source[i].y)]; 
} 

В drawRect: метод подкласса вашего NSView, вы могли бы иметь что-то вроде:

- (void) drawRect:(NSRect) dirtyRect 
{ 
    [[NSColor blackColor] set]; 
    [bezPath stroke]; 
} 

Большие куски этого кода отсутствуют, потому что вы не указали достаточно информации, но у вас должен быть gander на Cocoa Drawing Guide, который, вероятно, направит вас в правильном направлении.

+0

спасибо за код .. но моя проблема: как передать массив? – Corninos

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