Objective c 使用石英绘制/移动文本的最佳实践是什么?

Objective c 使用石英绘制/移动文本的最佳实践是什么?,objective-c,object,text,drawing,quartz-graphics,Objective C,Object,Text,Drawing,Quartz Graphics,我是Iphone开发的新手,我想实现一个简单的应用程序,一些文本可以在视图中显示和移动。因此,我使用以下代码来实现主循环: - (id)initWithCoder:(NSCoder*)coder { [NSTimerscheduledTimerWithTimeInterval:(NSTimeInterval)((1.0 / 30.0)) target:selfselector:@selector(mainLoop) userInfo:nilrepeats:TRUE]; } -

我是Iphone开发的新手,我想实现一个简单的应用程序,一些文本可以在视图中显示和移动。因此,我使用以下代码来实现主循环:

- (id)initWithCoder:(NSCoder*)coder {

 [NSTimerscheduledTimerWithTimeInterval:(NSTimeInterval)((1.0 / 30.0)) 
    target:selfselector:@selector(mainLoop) userInfo:nilrepeats:TRUE];
 }  
-(void) mainLoop {

// Do some updates
[self setNeedsDisplay];
}
- (void)drawRect:(CGRect)rect {

   // Draw many strings like this ...

    UILabel *label = [[UILabel alloc] init];
label.textColor = color;
label.font = font;
label.text = character;
CGRect rect = CGRectMake(posX, posY, width, height);
[label drawTextInRect:rect];
}
但是当屏幕上有超过100个文本时,屏幕刷新将缓慢且不平滑。我想知道我画画的方式是否正确?我在网上搜索了很多文件,但没有找到答案。我找到了许多根据上下文绘制文本的方法,但我不知道应该遵循哪种方法。一件事是,我需要使用UILabel,因为我需要设置颜色。
我的代码有问题吗?我应该使用子视图进行绘制,然后将子视图添加到主视图中吗?还是应该使用CGLayer?有谁能告诉我这种计划的最佳实践是什么?谢谢

我已经找到了答案,我使用了NSString:drawInRect而不是UILable:drawTextInRect:

-(void)drawRect:(CGRect)rect  
{    
 // Draw many strings like this ...    
 CGContextSetRGBFillColor (context, 1.0, 1.0, 1.0, 0.5);   
 CGRect rect = CGRectMake(x, y, [self getSizeX], [self getSizeY]); 
 [character drawInRect:rect withFont:[UIFont fontWithName:@"Courier" size:fontSize]];
}