我在这一行得到一个SwiftLint警告:
return UIEdgeInsetsMake(topInset, leftInset, bottomInset, rightInset)
这是警告:
遗留构造函数冲突:Swift构造函数优先于遗留的便利功能。(legacy_constructor)
我在这一行也得到了一个警告:
return CGRectInset(bounds, insetX, insetY)
遗留CGGeometry函数冲突:Struct扩展属性和方法优于遗留函数(legacy_cggeometry_functions)
UIEdgeInsetsMake
和CGRectInset
的Swift版本是什么
Swift希望你为这些类型更新为新的结构初始化式,而不是旧的C构造函数。所以你的inset初始化项应该改成:
return UIEdgeInsets(top: topInset, left: leftInset, bottom: bottomInset, right: rightInset)
将CGRectInset
C方法改为CGRect
结构体方法。
return bounds.insetBy(dx: insetX, dy: insetY)