CGContext无效上下文0x0

时间:2013-10-22 02:32:16

标签: objective-c ios7

  

:CGContextSetFillColorWithColor:无效的上下文0x0。这是   一个严重的错误。此应用程序或它使用的库正在使用   无效的上下文,从而导致整体退化   系统稳定性和可靠性。这个通知是礼貌的:拜托   解决这个问题。在即将到来的更新中,它将成为一个致命的错误。

     

:CGContextSetStrokeColorWithColor:无效的上下文0x0。这个   是一个严重的错误。此应用程序或其使用的库正在使用   一个无效的背景,从而有助于整体   系统稳定性和可靠性降低。这个通知是一个   礼貌:请解决这个问题。它将成为一个致命的错误   即将到来的更新。

和类似的错误重复:

  • CGContextSaveGState
  • CGContextSetFlatness
  • CGContextAddPath
  • CGContextDrawPath
  • CGContextRestoreGState
  • CGContextSaveGState
  • CGContextSetFlatness
  • CGContextAddPath
  • CGContextDrawPath
  • CGContextRestoreGState
  • CGContextSetFillColorWithColor
  • CGContextSetStrokeColorWithColor
  • CGContextSetFillColorWithColor
  • CGContextSetStrokeColorWithColor
  • CGContextGetBlendMode
  • CGContextSetBlendMode
  • 以及......

在我的应用中,我不使用任何CGContext的东西。我只有UITextViewUIButtonUILabel。添加的代码不多。只需将UITextView的内容设置为:

即可
[self.text_view setText:@"123"];

如何解决错误?

我正在使用Xcode 5.0(版本5A1413),iOS 7模拟器(64位Retina 4“),Mac OS X 10.8.5

3 个答案:

答案 0 :(得分:39)

试试这个:在xcode中为CGPostError添加符号断点。 (添加符号断点,并添加到符号字段类型CGPostError)

发生错误时,调试器将停止执行代码,您可以检查方法调用堆栈并检查参数。

答案 1 :(得分:2)

使用CGContext和UIBezierPaths时我遇到了类似的错误,我使用了Juraj Antas'接近,我立即找到了原因。

我正在使用CGContext绘制UIImageView。首先,我创建一个UIBezierPath,然后使用CGContextAddPath(..)绘制它。我发现在创建UIBezierPath时我正在设置颜色,xcode不喜欢并且被CGContextSetStrokeColorWithColor(..)覆盖。我从UIBezierPath创建代码中删除UIColor.whiteColor().set()后,错误就消失了。

答案 2 :(得分:0)

感谢@shnaz的建议。

我遇到了同样的问题,它花了我一些时间才发现问题,希望我的解决方案可以帮助其他人,如果他们遇到同样的问题。

我可能没有仔细阅读文档,而且我是创建UIBezierPath的新手。事实证明,在XCode6中,.stroke().fill()有时会导致无效的上下文0x0。