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