所以我有一個叫做fallingBall
的UIView,它與我的UIView很好地碰撞,叫做theBlockView
。我正在使用CGRectIntersectsRect(theBlockView.frame, fallingBall.frame)
來檢測這種碰撞。Cocoa iOS將矩形變成帶有碰撞的圓
這一切都很好,所以現在我想我的fallingBall
實際上是圓的,我還想要圓角theBlockView
的頂角。要做到這一點,我用下面的代碼:
//round top right-hand corner of theBlockView
UIBezierPath *maskPath = [UIBezierPath bezierPathWithRoundedRect:theBlockView.bounds
byRoundingCorners:UIRectCornerTopRight
cornerRadii:CGSizeMake(10.0, 10.0)];
CAShapeLayer *maskLayer = [CAShapeLayer layer];
maskLayer.frame = theBlockView.bounds;
maskLayer.path = maskPath.CGPath;
theBlockView.layer.mask = maskLayer;
//round the fallingBall view
[[fallingBall layer] setCornerRadius:30];
但是,有趣的是,雖然它們看起來不錯,圓潤,意見仍然是矩形。 所以我的問題是:我怎樣才能讓CGRectIntersectsRect
把它們看成是他們看起來像的形狀?是否有一個功能相同,但使用視圖的alpha來檢測碰撞?
謝謝你的時間!
好的,謝謝你的提示! –