Swift 3.0 转换错误修复

Swift 3.0 converting error fix

我有一个 swift 2.2 项目。 现在我将它升级到 Swift 3.0,但我有一些错误。

open var gridClippingRect: CGRect
{
    var contentRect = viewPortHandler?.contentRect ?? CGRect.zero
    contentRect.insetInPlace(dx: 0.0, dy: -(self.axis?.gridLineWidth ?? 0.0) / 2.0)
    return contentRect
}

错误:'CGRect' 类型的值没有成员 'insetInPlace'

如何解决这个错误?

查看 CGRect 的文档,最接近的方法是 insetBy:dx:dy:,其中 returns 是一个新的 CGRect。所以下面的代码应该适合你:

contentRect = contentRect.insetBy(dx: 0.0, dy: -(self.axis?.gridLineWidth ?? 0.0) / 2.0)