【问题标题】:CGRectDivide is deprecated in swift 3CGRectDivide 在 swift 3 中已弃用
【发布时间】:2016-09-19 05:10:16
【问题描述】:

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

【问题讨论】:

    标签: ios swift swift3 cgrect


    【解决方案1】:

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

    【讨论】:

    • 那么,你如何使用切片和余数来划分源?我已经更新了我的问题,并附上了代码。
    • 谢谢,Nirav,你帮了我很多忙!
    猜你喜欢
    • 2016-11-30
    • 1970-01-01
    • 1970-01-01
    • 2016-07-10
    • 2023-03-25
    • 1970-01-01
    • 2016-07-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多