比较CGPoint和图像中心属性

时间:2012-03-24 23:27:50

标签: objective-c ios image uiimage cgpoint

我可以在这里提供一些帮助。我花了几个小时试图找出如何比较CGPoint的值和图像的中心属性。我假设这两个值是x和y坐标的形式。以下是我写的代码。

-(void) jigsawCompleted:(CGPoint) newcenter {

if(image1.center == newcenter &&
   image2.center == newcenter &&
   image3.center == newcenter &&
   image4.center == newcenter) {
    NSLog(@"success");

}
}
.......
.......
//if current touch is inside the rectangle
if (CGRectContainsPoint(snapToRect, location)) {
    touch.view.alpha = 1.0;
    //make a point with the coords below
    CGPoint newcenter = CGPointMake(78, 382);
    //assign the center coords of the current touch to this newly created point
    touch.view.center = newcenter;
    [self jigsawCompleted:newcenter];
    return;
} else {
    touch.view.alpha = 0.3;
}

当比较jigsawCompleted方法中的两个值时,我得到错误:二进制表达式的无效操作数('CGpoint'(又名'struct CGPoint')和'CGPoint')。

请帮忙吗?

3 个答案:

答案 0 :(得分:6)

使用CGPointEqualToPoint()

if (CGPointEqualToPoint(image1.center, newCenter) && ...)

答案 1 :(得分:3)

该点是包含x和y的结构。使用CGPointEqualToPoint。比较点是否等于图像中心:

if (CGPointEqualToPoint(image1.center, newcenter) { ...

答案 2 :(得分:2)

使用函数CGPointEqualToPoint

if (CGPointEqualToPoint(image1.center, newCenter) &&
    CGPointEqualToPoint(image2.center, newCenter) &&
    CGPointEqualToPoint(image3.center, newCenter) &&
    CGPointEqualToPoint(image4.center, newCenter)) {
// ...