Рисование строк из массива в drawrect - PullRequest
0 голосов
/ 15 февраля 2012

Я пытаюсь нарисовать строки из массива в drawrect, но они не рисуются. Код drawRect выглядит следующим образом

- (void)drawRect:(CGRect)rect
{
    UIFont *font = [UIFont systemFontOfSize:14];
    CGRect ourRect;
    ourRect.origin.x=ourRect.origin.y=20.0;
    ourRect.size.width=130.0;
    ourRect.size.height= 100.0;
    CGPoint pointer;
    pointer.x=pointer.y=20;
    NSString*string;
    string=[[NSString alloc] init];

    [string drawAtPoint:pointer withFont:font];

    NSMutableArray * whatShouldIDraw=[[NSMutableArray alloc]init];
    whatShouldIDraw=[self.dataSource whatToDraw:self];
    NSUInteger i;
    for (i=0; i<[whatShouldIDraw count]; i++) {
        [[[whatShouldIDraw objectAtIndex:i] equationBit] drawAtPoint:[[whatShouldIDraw objectAtIndex:i]drawPoint] withFont:font];
    }

}

Протокол источника данных реализован в контроллере представления. Объекты в массиве принадлежат классу, который содержит строку и точку, в которой можно нарисовать эту строку. Я использовал NSLog, чтобы убедиться, что объекты действительно помещаются в массив правильно (они есть). Также есть строка, которая отправляет setNeedsDisplay в представление. Когда я запускаю этот код, он становится пустым, поэтому я не уверен, что происходит не так. Это моя первая попытка запустить drawRect с данными, которые вводятся из приложения, поэтому я думаю, что проблема заключается в том, как я реализовал протокол источника данных.

1 Ответ

0 голосов
/ 16 февраля 2012

Это был плохой вопрос, ответ которого не лежал в опубликованном коде. Проблема заключалась в том, что я не установил контроллер представления в качестве делегата. Я добавил: self._equationView.dataSource=self; и проблема была решена.

...