Сравнение CGPoint и свойства центра изображений - PullRequest
1 голос
/ 25 марта 2012

Я мог бы действительно сделать с некоторой помощью здесь.Последние пару часов я пытался понять, как сравнить значение CGPoint и свойство center изображения.Я предполагал, что эти два значения были в форме координат 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 ]

6 голосов
/ 25 марта 2012

Использование CGPointEqualToPoint().

if (CGPointEqualToPoint(image1.center, newCenter) && ...)
3 голосов
/ 25 марта 2012

Точка - это структура, которая включает в себя x и y. Используйте CGPointEqualToPoint. Чтобы сравнить, равна ли точка центру изображения:

if (CGPointEqualToPoint(image1.center, newcenter) { ...
2 голосов
/ 25 марта 2012

Используйте функцию CGPointEqualToPoint:

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