【发布时间】:2017-02-01 11:44:11
【问题描述】:
我在此行收到SwiftLint 警告:
return UIEdgeInsetsMake(topInset, leftInset, bottomInset, rightInset)
这是警告:
遗留构造器违规:Swift 构造器优先于 遗留的便利功能。 (legacy_constructor)
我也在这一行收到警告:
return CGRectInset(bounds, insetX, insetY)
传统 CGGeometry 函数违规:结构扩展属性和 方法优于遗留功能 (legacy_cggeometry_functions)
UIEdgeInsetsMake 和 CGRectInset 的 Swift 版本是什么?
【问题讨论】:
-
你看过参考developer.apple.com/reference/uikit/uiedgeinsets吗?或尝试自动完成:
return UIEdgeInsets( -
我做了,但 Swift 版本具有相同的名称。所以我不知道如何解决这个警告,或者是否有不同的方法。
-
类型为
UIEdgeInsets,所以以UIEdgeInsets(开头,不是UIEdgeInsetsMake... -
谢谢! CGRectInset 呢?
-
再次,查找 CGRectInset 文档页面,然后切换到 Swift,您会发现 developer.apple.com/reference/coregraphics/cgrect/…:
func insetBy(dx: CGFloat, dy: CGFloat) -> CGRect