2014-02-17 5 views
2

I 사용자 정의 UILabel을 그리려면이 함수를 사용하십시오. iOS 6 이전 버전에서는 작동하지만 iOS 7에서는 실패합니다. CGContextSetStrokeColorWithColor를 CGContextSetFillColorWithColor로 바꾸면 iOS7에서는 작동하지만 6 이하에서는 작동하지 않습니다.CGOSextSetStrokeColorWithColor가 iOS 7에서 실패 함

void ShadowedStrokedText(CGContextRef ctx,NSString *text,CGPoint textStartPont,UIColor *textColor,UIFont *font,CGFloat lineWidth,UIColor * shadowColor,CGFloat shadowThickness){ 

CGContextSaveGState(ctx); 

CGContextSetInterpolationQuality(ctx,kCGInterpolationHigh); 
CGContextSetLineJoin(ctx, kCGLineJoinRound); 

CGContextSetLineWidth(ctx, lineWidth); 

CGContextSetStrokeColorWithColor(ctx, textColor.CGColor); 
//---this works with iOS7 
//CGContextSetFillColorWithColor(ctx, textColor.CGColor); 
CGContextSetTextDrawingMode(ctx, kCGTextStroke); 
CGContextSetShadowWithColor(ctx,CGSizeMake(0,0),shadowThickness,[shadowColor CGColor]); 

[text drawAtPoint:textStartPont withFont:font]; 

CGContextRestoreGState(ctx);} 

왜? 사용중인

+0

은 아이폰 OS 7 –

+0

에서 내가 확인하는 것이 decrepated 수 있습니다. 지원 중단 없음, 다른 행동 만. 감사 – RobCat

답변

0

drawAtPoint:withFont:deprecated in iOS7입니다 :

drawAtPoint:withFont:

지정된 글꼴을 사용하여 현재 그래픽 컨텍스트의 지정된 지점에서 한 줄에 문자열을 그립니다. (. : withAttributes : 아이폰 OS 7.0에서 사용되지는 drawAtPoint를 사용하는 대신.)

관련 문제