В моем приложении для масштабирования и панорамирования я использую вышеуказанные распознаватели жестов. Это работает нормально. Я хочу кнопку, которая вернет изображение в исходное состояние. Это означает отображение фактического изображения или возврат в исходное состояние. Может ли кто-нибудь сказать мне, как это сделать?iOS - UIPinchGestureRecognizer & UIPanGestureRecognizer - Сброс
код, как показано ниже:
-(void)handlePanGesture:(UIPanGestureRecognizer*)recognizer
{
CGPoint translation = [(UIPanGestureRecognizer*)recognizer translationInView:[self superview]];
recognizer.view.center = CGPointMake(recognizer.view.center.x + translation.x, recognizer.view.center.y + translation.y);
[(UIPanGestureRecognizer*)recognizer setTranslation:CGPointMake(0, 0) inView:[self superview]];
}
-(void)handlePinchGesture:(UIPinchGestureRecognizer*)recognizer
{
static CGRect initialBounds;
if (recognizer.state == UIGestureRecognizerStateBegan)
{
initialBounds = self.bounds;
}
CGFloat factor = [(UIPinchGestureRecognizer *)recognizer scale];
CGAffineTransform zt = CGAffineTransformScale(CGAffineTransformIdentity, factor, factor);
self.bounds = CGRectApplyAffineTransform(initialBounds, zt);
}
Установить центр изображения обратно к оригиналу, и установить преобразование в 'CGAffineTransformIdentity' и вы сделали. Или есть какая-то другая проблема, о которой вы не говорите? – borrrden
На самом деле вы делаете это странным образом. Почему вы используете ApplyTransform вместо того, чтобы просто устанавливать свойство преобразования изображения? – borrrden
@borrrden, можете ли вы предоставить мне фактический код для его реализации. – Satyam