2016-05-31 3 views
0

Я стараюсь масштабировать изображение одним нажатием, но пока не удалось. У меня есть карусель с 6 изображениями, которые отлично смотрятся, но я хочу, чтобы конкретное изображение увеличивалось/всплывало при нажатии на изображение в карусельном представлении. Любая помощь будет высоко оценена.Как увеличить изображение на одном кране в iCarousel View?

ответ

0

Сначала объявите TapGestureRegcognizer, а затем addSubview в вашем UIImageView. использовать этот код в viewDidLoad:

UITapGestureRecognizer *doubleTap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(handleDoubleTap:)]; 

[doubleTap setNumberOfTapsRequired:1]; 

[imageview addGestureRecognizer:doubleTap]; 

затем при нажатии на UIImageView одним нажатием, вызовите приведенные ниже методы,

- (void)handleDoubleTap:(UIGestureRecognizer *)gestureRecognizer { 
     // zoom in 
     float newScale = [myscrollview zoomScale] * 2; 

     if (newScale > self.myscrollview.maximumZoomScale){ 
      newScale = self.myscrollview.minimumZoomScale; 
      CGRect zoomRect = [self zoomRectForScale:newScale withCenter:[gestureRecognizer locationInView:gestureRecognizer.view]]; 

      [myscrollview zoomToRect:zoomRect animated:YES]; 

     } 
     else{ 

      newScale = self.myscrollview.maximumZoomScale; 
      CGRect zoomRect = [self zoomRectForScale:newScale withCenter:[gestureRecognizer locationInView:gestureRecognizer.view]]; 

      [myscrollview zoomToRect:zoomRect animated:YES]; 
     } 
    } 

- (CGRect)zoomRectForScale:(float)scale withCenter:(CGPoint)center { 

    CGRect zoomRect; 

    // the zoom rect is in the content view's coordinates. 
    // At a zoom scale of 1.0, it would be the size of the imageScrollView's bounds. 
    // As the zoom scale decreases, so more content is visible, the size of the rect grows. 
    zoomRect.size.height = [myscrollview frame].size.height/scale; 
    zoomRect.size.width = [myscrollview frame].size.width/scale; 

    // choose an origin so as to get the right center. 
    zoomRect.origin.x = center.x - (zoomRect.size.width/2.0); 
    zoomRect.origin.y = center.y - (zoomRect.size.height/2.0); 

    return zoomRect; 
} 

его работы для меня, надеюсь, что его полезно.

+0

привет @Iyyappan, я пробовал это .. он работает, я хочу, «изображение в карусельном представлении» для увеличения. – iDeveloper

 Смежные вопросы

  • Нет связанных вопросов^_^