Как я могу получить текущий уровень масштабирования в UIScrollView? - PullRequest
7 голосов
/ 20 сентября 2009

В попытке создать обходной путь для центрирования изображения в UIScrollView и заставить его вести себя так, как это делает приложение Apple Photos, мне нужно получить текущий уровень масштабирования и использовать число, чтобы вычислить величину, в которую должно быть вставлено изображение. уровень масштабирования.

(Примечание: я знаю, что некоторые программисты центрируют изображение в виде прокрутки, центрируя изображение в UIView, который имеет тот же размер, что и вид прокрутки. Это не дает хороших результатов, и я пытаюсь выяснить, как яблоко заставил это работать в приложении фотографий.)

Итак, кто-нибудь знает, как получить текущий уровень масштабирования контента в UIScrollView?

Ответы [ 2 ]

13 голосов
/ 17 сентября 2010

Да, я получил ответ вашей проблемы. Я думаю, что вы должны использовать этот метод в вашем классе scrollViewController.

- (void)scrollViewDidEndZooming:(UIScrollView *)scrollView withView:(UIView *)view atScale:(float)scale{
    NSLog(@"Zoomscale %f",scale);
        NSLog(@"Zoom End!");
}
10 голосов
/ 20 сентября 2009

В OS 3.x есть свойство, называемое zoomScale, которое даст вам то, что вы хотите. Я полагаю, что в 2.x вы можете взглянуть непосредственно на преобразование contentView, чтобы получить это (но это, конечно, не «официально»).

...