gpt4 book ai didi

ios - CGContextShowTextAtPoint 即使在不同的迭代中也有固定的大小?

转载 作者:行者123 更新时间:2023-11-28 19:09:54 25 4
gpt4 key购买 nike

我正在使用以下代码在我的自定义 View 中绘制一些文本:

- (void)drawProgramDescription:(CGContextRef) context {
UIGraphicsPushContext(context);
// get string from dataSource
NSString *programDescription = [self.dataSource giveDescriptionOfProgram:self];
// convert string to a C string
const char *programDescriptionCString = [programDescription
cStringUsingEncoding:kCGEncodingMacRoman];
CGContextSelectFont(context, "Helvetica", 1, kCGEncodingMacRoman);
// draw it
CGContextShowTextAtPoint(context, 20, 20, programDescriptionCString,
sizeof(programDescriptionCString) + 1);
UIGraphicsPopContext();
}

此方法在我的 drawRect 方法中调用,以便文本显示在我的自定义 View 中。

但是,问题是即使我的 drawRect 已经在不同的迭代中,放入 CGContextShowTextAtPoint 的字符串的大小似乎也是固定的。

例如,如果第一次显示的文本是:

X*X

在第二次调用 drawRect 时,它应该绘制文本

sin(X)

它不会完全显示文本,而是将文本截断

sin(

它仍然具有第一次迭代 drawRect 时的原始大小。

这是 CGContextShowTextAtPoint 的特性吗?还是我遗漏了什么?

谢谢!

最佳答案

CGContextShowTextAtPoint 中逃脱可能会更快乐。它太受限制了。相反,请使用 NSString UIKit Additions 中记录的方法.

他们绘制真正的 NSString。他们融入了当前的背景。他们对字符串、编码、字体、边界矩形等了解更多。

在 iOS 6 中甚至有并行的 NSAttributedString 方法。

关于ios - CGContextShowTextAtPoint 即使在不同的迭代中也有固定的大小?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16594225/

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