2010-07-05 2 views
6
나는 한동안이에서 봤는데

, 그것은 석영 차원에서 이것에 대해 이동하는 방법에는 여러 가지가 있다는 것 :에석영 2d/코어 그래픽 : 텍스트를 그리는 올바른 방법은 무엇입니까?

CGContextSelectFont 
CGContextSetRGBFillColor 
CGContextShowTextAtPoint 

및 ...

1) 핵심 그래픽 방법을 사용하여 텍스트를 그리기 및 에, 끔찍하게 낮은 수준입니다. 있는 NSString drawAtPoint를 사용

2)

이 가능하다면 나는이 곳하지만 너무 확실하지 읽었습니다 UILabel의

를 사용

NSString* text = @"Hello"; 
[text drawAtPoint:point withFont:font]; 

3) 내가 좋아하는

(지금까지의 방법) . drawRect 내에서 UILabel을 인스턴스화하는 것은 drawRect가 아마도 수천 번 호출되는 것처럼 꽤 비싸다고 생각합니다. ??


잠시 동안 (NSString drawAtPoint를 사용하여) 2를 사용해도 괜찮습니다.하지만 몇 가지 의견을 얻고 싶었습니다. 다시 말하지만, 텍스트와 함께 도형을 그리기 때문에 drawRect (뷰를 서브 클래 싱) 내에서 텍스트를 만들려고합니다. 올바른 방법은 무엇입니까?

감사

답변

9

# 1을 사용하는보다 정확한 제어를 필요로하지 않는 한 나는 일반적으로 그것을 할 방법이다. 따라서 사용자가 입력 한 텍스트를 그리는 데 사용하는 경우에는 사용하지 마십시오.

이 아닌 경우에만에 표준 ASCII 문자 만 포함되어 있는지 확인하십시오.

3

# 2는 내가 국제 문자를 지원하지 않습니다 CG/CT

1

# 1을 사용해서는 안되겠다는 Yuji의 의견에 동의하지만, 가능하면 -DrawRect를 구현하지 않으려면 어느 곳에서나 사용자 정의 도면 인 대신 UILabel 을 사용해야합니다. , 당신은해야합니다.