如果按钮中心的条件

时间:2013-10-09 16:06:31

标签: ios cgpoint

我想制作一个if语句,说明当按钮中心位于某个位置时会发生某些事情。我试过了

if (button.center == CGPointMake (x,y){
    statement
}

但不知道我该怎么做。

1 个答案:

答案 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