Ios 按钮中心的if条件

Ios 按钮中心的if条件,ios,cgpoint,Ios,Cgpoint,我想做一个if语句,当按钮中心位于某个位置时,就会发生一些事情。我试过了 if (button.center == CGPointMake (x,y){ statement } 但是不行,我该怎么做。您正在寻找CGPointEqualToPoint: if (CGPointEqualToPoint(button.center, CGPointMake (x,y))) { statement } 请注意,它的定义如下,并执行精确的浮点比较: CG_INLINE bool __C

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

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

但是不行,我该怎么做。

您正在寻找
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
CG\u内联bool
__CGPointNearToPoint(CGPoint point1、CGPoint point2、CGFloat maxAcceptableDistance)
{
返回sqrtf(powf(point2.x-point1.x,2)+powf(point2.y-point1.y,2))
您正在查找
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
CG\u内联bool
__CGPointNearToPoint(CGPoint point1、CGPoint point2、CGFloat maxAcceptableDistance)
{
返回sqrtf(powf(point2.x-point1.x,2)+powf(point2.y-point1.y,2))
您正在查找
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
CG\u内联bool
__CGPointNearToPoint(CGPoint point1、CGPoint point2、CGFloat maxAcceptableDistance)
{
返回sqrtf(powf(point2.x-point1.x,2)+powf(point2.y-point1.y,2))
您正在查找
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
CG\u内联bool
__CGPointNearToPoint(CGPoint point1、CGPoint point2、CGFloat maxAcceptableDistance)
{
返回sqrtf(powf(point2.x-point1.x,2)+powf(point2.y-point1.y,2))
我试图在5秒后使计时器失效,因此我有一个按钮在一个位置启动,然后在另一个位置设置动画。然后,当按钮在5秒后到达最终目的地时,我使用上面建议的if语句停止计时器。但计时器几乎立即失效。我该怎么做。你应该把它作为一个单独的问题发布,因为它与UIKit动画是如何工作的有关。如果您查看
UIView
上的动画方法,有一个带有完成块。我使用了动画完成块,它的工作方式正是我所需要的。谢谢你,布莱恩。我会把这个标记为回答,因为你的第一个评论对我的问题是正确的。我试图在5秒后使计时器失效,所以我有一个按钮,从一个位置开始,然后动画到另一个位置。然后,当按钮在5秒后到达最终目的地时,我使用上面建议的if语句停止计时器。但计时器几乎立即失效。我该怎么做。你应该把它作为一个单独的问题发布,因为它与UIKit动画是如何工作的有关。如果您查看
UIView
上的动画方法,有一个带有完成块。我使用了动画完成块,它的工作方式正是我所需要的。谢谢你,布莱恩。我会把这个标记为回答,因为你的第一个评论对我的问题是正确的。我试图在5秒后使计时器失效,所以我有一个按钮,从一个位置开始,然后动画到另一个位置。然后,当按钮在5秒后到达最终目的地时,我使用上面建议的if语句停止计时器。但计时器几乎立即失效。我该怎么做。你应该把它作为一个单独的问题发布,因为它与UIKit动画是如何工作的有关。如果您查看
UIView
上的动画方法,有一个带有完成块。我使用了动画完成块,它的工作方式正是我所需要的。谢谢你,布莱恩。我会把这个标记为回答,因为你的第一个评论对我的问题是正确的。我试图在5秒后使计时器失效,所以我有一个按钮,从一个位置开始,然后动画到另一个位置。然后,当按钮在5秒后到达最终目的地时,我使用上面建议的if语句停止计时器。但计时器几乎立即失效。我该怎么做。你应该把它作为一个单独的问题发布,因为它与UIKit动画是如何工作的有关。如果您查看
UIView
上的动画方法,有一个带有完成块。我使用了动画完成块,它的工作方式正是我所需要的。谢谢你,布莱恩。我会将此标记为已回答,因为您的第一个评论对我的提问是正确的