簡體   English   中英

是否有比-drawInRect更快的東西:withFont:lineBreakMode:alignment:?

[英]Is there something faster than -drawInRect:withFont:lineBreakMode:alignment:?

Shark告訴我,這種方法會受到巨大的性能影響。 就像我表格中的80%一樣。 我所做的只是每個單元格繪制兩個標簽(每頁約8個)。 滾動期間。 我drawInRect:用那個。

有更好的方法嗎? 喜歡直接畫到某層?

您可以使用以下代碼快速繪制圖形:

CGContextSetStrokeColorWithColor(context, strokeColor); 
CGContextSetFillColorWithColor(context, strokeColor);

CGContextSelectFont(context, "Helvetica", fontSize, kCGEncodingMacRoman);
CGContextSetTextDrawingMode(context, kCGTextFill);
CGContextSetTextPosition(context, 0.0f, round(fontSize / 4.0f));
CGContextShowText(context, [text cStringUsingEncoding:NSMacOSRomanStringEncoding], strlen([text cStringUsingEncoding:NSMacOSRomanStringEncoding]));     

但是,iPhone上的Helvetica字體的Mac Roman編碼缺少許多非英文字符的符號,所以我認為你堅持使用NSString繪圖方法,除非你想在iPhone OS 3.2中升級到Core Text。

要檢查並查看您的字符串是否可以使用Mac Roman字符集表示,請使用以下內容:

if ([text canBeConvertedToEncoding:NSMacOSRomanStringEncoding])

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM