Używam nieznacznie dostosowany kod z Apple Touches code (Właśnie zmienił nazwę zmiennej z kawałka na obrazie):Brakujące nieruchomość Anchorpoint dla UIView
- (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;
}
}
Jednakże, jak stwierdzono w komentarze, zdjęcia. warstwa.anchorPoint nie kompiluje się, z błędem, który nie może znaleźć właściwości "anchorPoint". Kompiluje się, gdy linia jest przepisywana z wiadomością, ale nadal daje ostrzeżenie.
Kopiowanie i wklejanie kodu dotknięcia bezpośrednio bez zmiany nazwy zmiennej powoduje ten sam błąd. Również te błędy nie pojawiają się, gdy kompiluję kod Touches.
Dlaczego tak jest?