2010-05-12 17 views
8
- (void)drawRect:(CGRect)rect { 
    CGContextRef context = UIGraphicsGetCurrentContext(); 


    CGContextSelectFont(context, "Arial", 24, kCGEncodingMacRoman); 


    CGContextShowTextAtPoint(context, 80, 80, "I am Rahul", 7); 





} 

我試圖如上圖所示,「我是拉胡爾」,但是當我執行的代碼,
文本被顯示繪製文本,但它倒,爲什麼它繪製文本正在發生我沒有得到!幫幫我!!使用CGContextShowTextAtPoint但表現出來的是黑底白字,

+0

可能重複[如何通過旋轉石英iPhone上繪製文本(http://stackoverflow.com/問題/ 1899775/how-to-rotation-text-drawn-by-quartz-on-iphone) – kennytm 2010-05-12 07:15:15

回答

26

您可以使用此代碼:

CGContextSetTextMatrix(context, CGAffineTransformMake(1.0,0.0, 0.0, -1.0, 0.0, 0.0)); 
+0

Thanx的答覆..它爲我工作。 – Rahul 2010-05-13 08:25:57

+0

user338322你應該真的把它標記爲完美的答案。 – 2011-07-12 19:03:55

+0

只是爲了補充一點 - 這個原理的效果是因爲UIKit與CoreGraphics有不同的座標系統。 – James 2011-10-04 14:36:54

14

這種情況很容易:

- (void)drawRect:(CGRect)rect { 
    NSString* string = @"I am Rahul"; 
    [string drawAtPoint:CGPointMake(80, 80) 
       withFont:[UIFont systemFontOfSize:24]]; 
} 
+0

[string drawAtPoint:withFont:]已被蘋果公司剝奪。你現在必須使用[string drawAtPoint:withAttributes:] – 2015-01-15 19:10:23

相關問題