12

我在这一行收到SwiftLint警告:

return UIEdgeInsetsMake(topInset, leftInset, bottomInset, rightInset)

这是警告:

Legacy Constructor Violation:Swift 构造函数优于传统的便利函数。(legacy_constructor)

我也在这条线上收到警告:

return CGRectInset(bounds, insetX, insetY)

旧版 CGGeometry 函数违规:结构扩展属性和方法优于旧版函数(legacy_cggeometry_functions)

UIEdgeInsetsMake和的 Swift 版本是CGRectInset什么?

4

1 回答 1

14

Swift 希望你更新这些类型的新结构初始化器,而不是旧的 C 构造器。因此,您的 inset 初始化程序将更改为:

return UIEdgeInsets(top: topInset, left: leftInset, bottom: bottomInset, right: rightInset)

CGRectInsetC 方法已更改为结构上的方法CGRect

return bounds.insetBy(dx: insetX, dy: insetY)
于 2016-09-23T15:01:13.577 回答