CGPoint的if语句

3
我需要一个使用CGPoint和if语句来检查x和y坐标的示例,类似于以下内容:
if(CGPoint == (XCORDINATE, YCORDINATE)){
do stuff
}

然后我需要一个如何检查标签上x和y坐标的示例。

if(mylabel == (xpoint, ypoint)){
do stuff
}

谢谢

2个回答

14

您可以使用标签的属性获取各种CGPoint位置。例如,如果需要获取center点,则获取myLabel.center

有许多函数可用于创建和比较点,如CGGeometry Reference所述。

因此,例如,您可以执行以下操作:

CGPoint testPoint = CGPointMake(50.0, 50.0);
if(CGPointEqualToPoint(testPoint, myLabel.center)) {
    // the two points equal
}

啊,我明白了。不想给你添麻烦,但只有一个快速问题:如果我使用一张图片,当这个标签经过这张图片时,它会被隐藏。我可以让它不必在我的准确位置上,而是像一个50-50-50-50的框,这样在这个框内所有边长都是50吗? - Jacob
请查看我提供的链接。除了点之外,还有其他方法可以创建和比较。你的目标似乎是比较两个视图(CGRect)的frame属性。尝试使用其中一种检查矩形相等的方法,或者使用CGRectContainsRect() - user756245
啊,谢谢老兄!我甚至没注意到链接。感激不尽。 - Jacob
@Jacob,不用谢,我会让它更加明显,方便其他人。 - user756245

1
if( point.x == XCORDINATE && point.y == YCORNDINATE )
{
   // do stuff
}

如果您想检查标签的坐标,只需执行上述操作,然后使用以下代码获取位置:
CGPoint point = yourLabel.frame.origin;

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接