CGRectDivide 在 swift 3 中被弃用
CGRectDivide is deprecated in swift 3
正如 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
}
}
在swift3中可以这样写
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)
正如 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
}
}
在swift3中可以这样写
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)