ios - CGRectDivide 在 swift 3 中被弃用

标签 ios swift swift3 cgrect

正如 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
    }
}

最佳答案

在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)

输出

(0.0, 0.0, 5.0, 50.0)
(5.0, 0.0, 45.0, 50.0)

编辑:在您的情况下,它写成。

(leftBezelRect, tempRect) = view.bounds.divided(atDistance: bezelWidth, fromEdge: .minXEdge)

关于ios - CGRectDivide 在 swift 3 中被弃用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39565760/

相关文章:

swift - Nil不能赋值给类型()->()?

arrays - 字典中值的总和 - Swift

ios - 在swift 3中获取推送数据

ios - 提交具有两个不同目标的iOS应用

ios - Swift about view 不符合协议(protocol) "UITableViewDataSource"

ios - 创建心愿单并在完成时通知用户 - Swift

ios - 使用 didSet 进行通知时出现问题

ios - 使用 GCD 在 UITableView 中轻松异步加载图像

ios - 使用调度组时如何使公共(public)资源线程安全?

ios - Swift 3 (Xcode 8 beta 6) localizedStringWithFormat