如何在Swift中将CGRects相互结合

我想知道是否有任何方法结合CGRect与另一个CGRect来获得新的CGRect。 swift是否有任何预设function来做到这一点,或者有另一种方法来实现这一点?

 let rect1 = CGRect(x: 0, y: 0, width: 100, height: 100) let rect2 = CGRect(x: 40, y: 40, width: 150, height: 150) CGRectUnion(rect1, rect2) // {x 0 y 0 w 190 h 190} 

了解更多信息:

Swift 3和更新:

 let rect1 = CGRect(x: 0, y: 0, width: 100, height: 100) let rect2 = CGRect(x: 40, y: 40, width: 150, height: 150) let union = rect1.union(rect2) // {x 0 y 0 w 190 h 190} 

结果是标准化的,所以产生的宽度和高度总是正面的:

 let rect3 = CGRect(x: 0, y: 0, width: -100, height: -100) let clone = rect3.union(rect3) // {x -100 y -100 w 100 h 100} 

文档: https : //developer.apple.com/documentation/coregraphics/cgrect/1455837-union