Я потратил много времени, пытаясь найти способ использовать CGAffineScale, чтобы преобразовать представление в определенную точку, в том числе возиться с опорными точками, перемещая центр представления до и после преобразования и всеобъемлющего Googling. Я знаю, что это было бы намного проще с UIScrollview; но я знаю, что это технически возможно обойтись без одного, и это становится осколком в моем сознании.
Этот ответ значительно приближается к тому, что я хочу достичь, но в ответе приводятся только подробные сведения о том, как увеличить масштаб до заданного угла (вместо заданной точки) умело перемещая центр в угол, противоположный тому, который вы хотите увеличить.
Как я могу изменить mvds 'код, чтобы масштабировать UIView до любой точки UIView?
CGFloat s = 3;
CGAffineTransform tr = CGAffineTransformScale(self.view.transform, s, s);
CGFloat h = self.view.frame.size.height;
CGFloat w = self.view.frame.size.width;
[UIView animateWithDuration:2.5 delay:0 options:0 animations:^{
self.view.transform = tr;
self.view.center = CGPointMake(w-w*s/2,h*s/2);
} completion:^(BOOL finished) {}];