我想制作一个if语句,说明当按钮中心位于某个位置时会发生某些事情。我试过了
if (button.center == CGPointMake (x,y){
statement
}
但不知道我该怎么做。
答案 0 :(得分:3)
您正在寻找CGPointEqualToPoint
:
if (CGPointEqualToPoint(button.center, CGPointMake (x,y))) {
statement
}
请注意,此定义如下,并执行完全浮点比较:
CG_INLINE bool
__CGPointEqualToPoint(CGPoint point1, CGPoint point2)
{
return point1.x == point2.x && point1.y == point2.y;
}
#define CGPointEqualToPoint __CGPointEqualToPoint
如果要构建公差,可以按如下方式定义函数:
CG_INLINE bool
__CGPointNearToPoint(CGPoint point1, CGPoint point2, CGFloat maxAcceptableDistance)
{
return sqrtf(powf(point2.x - point1.x, 2) + powf(point2.y - point1.y, 2)) < maxAcceptableDistance;
}
#define CGPointNearToPoint __CGPointNearToPoint