【发布时间】:2021-07-29 20:26:54
【问题描述】:
如果我有课Button:
class Button: Hashable {
private let id: String
var name: String
var rect: CGRect
}
我还有一个Button 数组:var buttons: [Button],如何合并buttons 数组中的每个重叠按钮? CGRect 有一个 intersects() -> Bool 和 union() -> CGRect 函数。
我试过这个并且得到索引超出范围错误:
for i in 0..<buttons.count {
for j in (i+1)..<buttons.count {
if buttons[i].rect.intersects(buttons[j].rect) {
let secondRect = buttons[j].rect
let union = buttons[i].rect.union(secondRect)
buttons[i].rect = union
buttons.remove(at: j)
}
}
}
【问题讨论】: