CGRectDivide在swift 3中已弃用

Ter*_*min 5 ios cgrect swift swift3

正如swift 3所说的那样CGRectDivide,已被弃用并且更换了divided(atDistance: CGFloat, from fromEdge: CGRectEdge) -> (slice: CGRect, remainder: CGRect).

据我所知CGRectDivide,默认情况下将源矩形划分为两个组件矩形.问题是做什么以及用什么来执行CGRectDivide使用swift 3做的相同操作?

更新1:swift 2功能如下所示:

fileprivate func isLeftPointContainedWithinBezelRect(_ point: CGPoint) -> Bool{
    if let bezelWidth = SlideMenuOptions.leftBezelWidth {
        var leftBezelRect: CGRect = CGRect.zero
        var tempRect: CGRect = CGRect.zero

        CGRectDivide(view.bounds, &leftBezelRect, &tempRect, bezelWidth, CGRectEdge.minXEdge)

        print("------> slidee1")

        return leftBezelRect.contains(point)
    } else {
        return true
    }
}
Run Code Online (Sandbox Code Playgroud)

Nir*_*v D 12

在swift 3中你可以这样写.

let rect = CGRect(x: 0, y: 0, width: 50, height: 50)
let (slice, remainder) = rect.divided(atDistance: 5.0, fromEdge: .minXEdge)
print(slice)
print(remainder)
Run Code Online (Sandbox Code Playgroud)

产量

(0.0, 0.0, 5.0, 50.0)
(5.0, 0.0, 45.0, 50.0)
Run Code Online (Sandbox Code Playgroud)

编辑:在你的情况下,它被写为.

(leftBezelRect, tempRect) = view.bounds.divided(atDistance: bezelWidth, fromEdge: .minXEdge)
Run Code Online (Sandbox Code Playgroud)