NSString drawInRect设置上下文

时间:2015-06-30 14:06:43

标签: ios swift core-graphics

我在背景中画了一些图像。有时我的应用程序崩溃时会出现奇怪的错误:

  

功能签名专业化< Arg [0] =拥有保证> MyApp的。

我检查了所有崩溃,并且我将所有崩溃都放在不使用上下文的方法上。其中一个画文字。如何指定上下文来绘制文本?

UIGraphicsBeginImageContextWithOptions(size, false, 1.0)
let ctx = UIGraphicsGetCurrentContext()
// some code
str.drawInRect(CGRectMake(floor(10 * scaleFactor), yOffset, size.width, floor(60 * scaleFactor)), withAttributes: textFontAttributes)
// code
let img = UIGraphicsGetImageFromCurrentImageContext()
UIGraphicsEndImageContext()

修改

我没有找到任何在特定上下文中绘制文本的方法。我在绘制文本之前使用UIGraphicsPushContext(ctx),之后使用UIGraphicsPopContext()https://stackoverflow.com/a/10402637/820795

1 个答案:

答案 0 :(得分:1)

我不相信这与绘画有关。当Swift API中出现错误时,会出现“函数签名特化”,其中Objective-C需要将nil参数值传递给Swift,但此参数的Swift版本未键入为Optional。