2011-01-07 5 views
0

아래 문자열을 그리는 방법을 사용하고 있습니다.iPhone에서 그림 그리기

-(void) drawRect:(CGRect)rect 
{ 
    NSString *mName = @"Hi what are you doing"; 
    [mName drawInRect:CGRectMake(0,0,100,12) withFont:[UIFont boldSystemFontOfSize:12] lineBreakMode:UILineBreakModeWordWrap alignment:UITextAlignmentCenter] 
} 

는 다른 글꼴에 "무엇을"아이폰, 가능 다른 글꼴에 "안녕"을 그릴입니다.

답변

1

각 단어의 그림에 대한 방법 drawAtPoint:withFont:을 사용하십시오. 그려지는 각 문자열의 위치를 ​​계산해야합니다. 이것은 sizeWithFont: -method를 사용하여 수행 할 수 있습니다. 예 :

NSString* firstString = @"Hi "; 
NSString* secondString = @"what"; 
// where to draw 
CGPoint position = CGPointMake(0, 0); 
CGFloat offset = [firstString sizeWithFont:font1].width + kSpaceBetweenWords; 
// draw "Hi" with font1 
[firstString drawAtPoint:position withFont:font1]; 
// draw "what" with font2 
[secondString drawAtPoint:CGPointMake(position.x+offset, position.y) withFont:font2]; 
0

아니요, 두 가지 그리기 요청 (각 글꼴 당 하나씩)을 수행해야하지만 이는 다소 사소한 것입니다.

평범하지 않은 것은 텍스트가 동적 인 경우 텍스트를 배치 할 위치를 아는 것입니다. 이 경우 UIView 및 drawRect 메서드를 서브 클래 싱하여 그냥 직접 그릴 것을 권합니다.

0

NSAttributedString은 iOS 3.2 이상에서 사용할 수 있습니다. 너는 이것을 시도 할 수있다. 아니면 다른 핵심 텍스트 라이브러리는 동일한 것을 달성하기 위해 거기에 있습니다 ...

+0

내 앱 배포 대상은 3.0이므로 ... 사용할 수 없습니다. –

+0

코어 텍스트 라이브러리를 사용하여 위의 문자열로 변환하는 샘플 예제를 게시 할 수 있습니까? –

+0

http://developer.apple.com/library/ios/#documentation/StringsTextFonts/Conceptual/CoreText_Programming/Operations/Operations.html#//apple_ref/doc/uid/TP40005533-CH4-SW18 –