Я использую слегка адаптированный код из кода Apple Touches (я только что изменил имя переменной элемента на изображение):
- (void)adjustAnchorPointForGestureRecognizer:(UIGestureRecognizer *)gestureRecognizer {
if (gestureRecognizer.state == UIGestureRecognizerStateBegan) {
UIView *image = gestureRecognizer.view;
CGPoint locationInView = [gestureRecognizer locationInView:image];
CGPoint locationInSuperview = [gestureRecognizer locationInView:image.superview];
// Gives error: Property 'anchorPoint' not found on object of type 'CALayer *'
//image.layer.anchorPoint = CGPointMake(locationInView.x / image.bounds.size.width, locationInView.y / image.bounds.size.height);
// Gives warning: Method '-setAnchorPoint' not found
[image.layer setAnchorPoint:CGPointMake(locationInView.x / image.bounds.size.width, locationInView.y / image.bounds.size.height)];
image.center = locationInSuperview;
}
}
Однако, как указано в комментариях image.layer.anchorPoint не компилируется с ошибкой, связанной с невозможностью найти свойство 'anchorPoint'. Он компилируется, когда строка перезаписывается с помощью h сообщение, но по-прежнему выдает предупреждение.
Копирование и вставка кода Touches напрямую без изменения имени переменной дает ту же ошибку. Также эти ошибки не появляются при компиляции кода Touches.
Почему это?