gpt4 book ai didi

iphone - 有没有比 -drawInRect :withFont:lineBreakMode:alignment:? 更快的东西

转载 作者:行者123 更新时间:2023-12-03 19:12:45 25 4
gpt4 key购买 nike

Shark 向我展示了这种方法对性能造成的巨大影响。就像我的表格 View 中的 80% 一样。我所做的就是为每个单元格绘制两个标签(每页总共大约 8 个)。滚动期间。我用它绘制了矩形。

有没有更好的方法?喜欢直接绘制到某个图层吗?

最佳答案

您可以使用如下代码更快地进行绘图:

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 编码缺少许多非英语字符的符号,因此我认为除非您想升级到 iPhone OS 中的 Core Text,否则您将不得不使用 NSString 绘图方法3.2.

要检查您的字符串是否可以使用 Mac 罗马字符集表示,请使用如下内容:

if ([text canBeConvertedToEncoding:NSMacOSRomanStringEncoding])

关于iphone - 有没有比 -drawInRect :withFont:lineBreakMode:alignment:? 更快的东西,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2700995/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com