当我尝试在swift中绘制UITableView单元格时,这个CGContextRestoreGState错误是什么?

时间:2015-07-25 22:35:55

标签: swift uitableview cell renderer

请问如何防止此错误?

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

import UIKit
import MGSwipeTableCell

class CustomCellRenderer: MGSwipeTableCell {

    //total range #f30649 --- #eaa026
    override func drawRect(rect: CGRect) {

        var currentContext = UIGraphicsGetCurrentContext()
        CGContextSaveGState(currentContext);
        var colorSpace = CGColorSpaceCreateDeviceRGB()
        var startColor = UIColor( netHex:0xf30649 )
        var startColorComponents = CGColorGetComponents(startColor.CGColor)
        var endColor =  UIColor( netHex:0xdc9422 )
        var endColorComponents = CGColorGetComponents(endColor.CGColor)
        var colorComponents
        = [startColorComponents[0], startColorComponents[1], startColorComponents[2], startColorComponents[3], endColorComponents[0], endColorComponents[1], endColorComponents[2], endColorComponents[3]]
        var locations:[CGFloat] = [0.0, 1.0]
        var gradient = CGGradientCreateWithColorComponents(colorSpace,&colorComponents,&locations,2)
        var startPoint = CGPointMake(0, 0)
        var endPoint = CGPointMake(self.bounds.width, self.bounds.height)
        CGContextDrawLinearGradient(currentContext,gradient,startPoint,endPoint, 0)
        CGContextRestoreGState(currentContext);
    }
}

0 个答案:

没有答案