Я создаю библиотеку листов изображений для использования в игровом проекте, чтобы вписаться в нашу существующую среду. В настоящее время я использую UIScrollView (с пустым представлением), чтобы позволить мне перехватить приятную физику для панорамирования с отскоком, но мне пришлось реализовать собственный зум с помощью распознавателя жестов (по причинам, в которые я не буду вдаваться) .
Но вот в чем дело - когда я панорамирую одним пальцем, добавление второго касания и попытка увеличения масштаба ничего не дает. Мне нужно быть абсолютно неподвижным, прежде чем это позволит мне увеличить масштаб. Когда пользователь панорамирует изображение, мой распознаватель жестов не срабатывает, если панорамирование полностью не завершено.
Кто-нибудь знает способ обойти это, который не включает в себя утилизацию UIScrollView и реализацию моего собственного панорамирования?
Вот моя функция scrollViewDidScroll:
- (void)scrollViewDidScroll:(UIScrollView *)scrollView
{
viewingBounds.origin.x = scrollView.contentOffset.x;
// Transform the y from UIKit coordinates into OpenGL coordinates
viewingBounds.origin.y = world.height - viewingBounds.size.height - scrollView.contentOffset.y;
[parentScene update]; // Render the image
}
Мой распознаватель жестов добавляется непосредственно в представление прокрутки в init:
[scrollView addGestureRecognizer:[[[UIPinchGestureRecognizer alloc] initWithTarget:self action:@selector(didReceivePinch:)] autorelease]];