Реализация жестов изображения: режим UIImageView конфликтует с жестом повышения

Pan отлично работает для меня, но пинч с кодом распознавателя, как это не так:

- (void)pinchDetected:(UIPinchGestureRecognizer *)pinchRecognizer
{
    CGFloat scale = pinchRecognizer.scale;
    self.imageView.transform = CGAffineTransformScale(self.imageView.transform, scale, scale);
    pinchRecognizer.scale = 1.0;
}

Что происходит, так это то, что при просмотре изображения происходит непрерывная переустановка изображения в соответствии с его "режимом", независимо от его центра, подгонки и т. Д.

1 ответ

Решение

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

К сожалению, есть много "учебников" по ​​этому вопросу, показывающих, как программировать с помощью распознавателей жестов и т. Д. И я потратил несколько часов на то, чтобы идти по этому пути без необходимости. Я продолжал идти, потому что чувствовал, что мучительно близок к тому, чтобы заставить вещи работать: жест панорамирования был безупречен и был "просто" зумом, который был сломан.

(Дополнительный вопрос: есть ли какой-нибудь потрясающий источник для текущей, iOS 6 "лучших практик"?)

Оказывается, это неправильный путь и он слишком сложен для базового распознавания жестов. Все, что нужно, это поместить представление изображения в представление прокрутки. О 99% программирования заботятся. (Я был убежден, что так и должно быть - я не мог поверить, что такая базовая функциональность не будет обеспечиваться касанием какао.)

Другие вопросы по тегам