У меня есть массив CALayers, содержащий изображения, которые может перемещать пользователь, и я пытаюсь использовать containsPoint, чтобы обнаружить, если они были затронуты - код выглядит следующим образом:
int num_objects = [pageImages count];
lastTouch = [touch locationInView:self];
CGRect objRect;
CALayer *objLayer;
for (int i = 0; i < num_objects; i++) {
objLayer = [pageImages objectAtIndex:i];
objRect = objLayer.bounds;
NSLog(@"layerPos:%@, layerBounds:%@", NSStringFromCGPoint(objLayer.position), NSStringFromCGRect(objRect));
NSLog(@"point:%@", NSStringFromCGPoint(lastTouch));
if ([objLayer containsPoint:lastTouch] == TRUE) {
NSLog(@"touched object %d", i);
return i;
}
}
Информация, которую я вывожу, помещает касание в границы слоя (я предположил, что положение - это центр слоя, я не изменил опорную точку. Слой не был повернут или что-то подобное что либо), но содержит Point: не возвращает true. Может кто-нибудь увидеть, что я делаю неправильно, или предложить другой / лучший способ добиться того, чего я хочу?