Я создаю распознаватель жестов, чтобы обрабатывать масштабирование в виде прокрутки (прокручивает только по оси по оси). У меня работает распознаватель жестов, но у меня проблемы с использованием данных из распознавателя жестов, чтобы правильно преобразовать мои взгляды. Это то, что я делаю прямо сейчас:Какие шаги необходимо предпринять для перевода ссылок UIPanGestureRecognizer на масштабирование ScrollView?
- (void)handlePinch:(GPinchGestureRecognizer *)pinchRecognizer
{
CGSize contentSize = [[self scrollView] contentSize];
if (pinchRecognizer.pinchType == VerticalPinchZoomIn || pinchRecognizer.pinchType == VerticalPinchZoomOut)
{
[[self scrollView] containerView].transform = CGAffineTransformScale([pinchRecognizer transformBeforeTouches], 1, [pinchRecognizer scale]);
[[self scrollView] setContentSize:CGSizeMake(contentSize.width, [pinchRecognizer initialContentSize].height * [pinchRecognizer scale])];
}
...
...
}
Это изменяет вид красиво, однако, это позволяет ему получить странные позиции на экране, а иногда вид прокрутки не будет иметь возможность прокручивать весь путь край его (он думает, что его граница находится где-то посередине и отскакивает назад).
Так что, в основном, мой вопрос в том, какие еще свойства других объектов и чего еще не нужно, чтобы работать, чтобы правильно работать? View.transform, ScrollView.contentSize, что еще? Если только файл реализации UIScrollView от Apple был открытым исходным кодом xD