2012-10-15 1 views
1

나는 UILabel을 서브 클래 싱했으며 drawring 메소드를 사용하여 화면에 문자열을 그립니다. 이것은 내 코드입니다.drawAtPoint 또는 drawRectIn을 사용하지 않고 NSString을 그립니다.

- (void)drawRect:(CGRect)rect 
{ 
    CGRect aRect = self.frame; 
    NSMutableArray *Text=[globaltextarray Text]; 

    [[NSString stringWithCString:[[Text objectAtIndex:labelindexpath.row] cStringUsingEncoding:NSISOLatin1StringEncoding] encoding:NSUTF8StringEncoding] drawInRect:aRect 
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         withFont:[UIFont fontWithName:@"Times New Roman" size:15.0] lineBreakMode:UILineBreakModeWordWrap alignment:UITextAlignmentLeft]; 
    [super drawRect:rect];  
} 

괜찮 았지만 내 목적에는 느립니다. [Label setNeedDisplay];을 사용하지 않고 문자열을 그려야합니다. 왜냐하면 setNeedsDisplay가 주 스레드에서 호출되어야하기 때문입니다. 렌더링 작업은 백그라운드 대기열에서 수행되어야합니다. 작은 예제를 제공해 주시면 감사하겠습니다. 어떤 도움을 주셔서 감사합니다.

감사합니다.

답변

0

당신은 메인 쓰레드에보기로 비트 맵 (이미지 생성)을 그려 그 후, 별도의 스레드 CGBitmapContextCreateImage을 사용의 CGImage /있는 UIImage에 문자열을 그리는 새로운 CGContext를 생성 할 수있다.

편집 : 예를 들어 post을 확인하십시오.

+0

감사의 말씀을 전합니다. – stefanosn

+0

@stefanosn 업데이트 – Elden

+0

예제를 시도했지만 생성 된 이미지를 주 스레드에 그릴 때 setNeedsDisplay를 사용하는 것보다 너무 느립니다! 내가 놓친 게 있니? – stefanosn

관련 문제