iOS-實現圖片的捏合放大與縮小

第一步  設置代理

[m_zoomScrollView setDelegate:self];


第二步  重寫代理方法 

- (UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView{

    return m_coverImg;

}


第三步 設置放大縮小倍數 

float minScale = CGRectGetWidth(m_zoomScrollView.bounds) / CGRectGetWidth(m_coverImg.frame);

float maxScale = CGRectGetWidth(m_coverImg.frame) / CGRectGetWidth(m_zoomScrollView.bounds);

 

m_zoomScrollView.minimumZoomScale = minScale;

m_zoomScrollView.maximumZoomScale = maxScale;

[m_zoomScrollView setZoomScale:minScale animated:YES];


設置圖片始終居中顯示: 

- (void)scrollViewDidZoom:(UIScrollView *)scrollView

{

CGFloat offsetX = (m_zoomScrollView.bounds.size.width > m_zoomScrollView.contentSize.width)?

    (m_zoomScrollView.bounds.size.width - m_zoomScrollView.contentSize.width) * 0.5 : 0.0;

    CGFloat offsetY = (m_zoomScrollView.bounds.size.height > m_zoomScrollView.contentSize.height)?

    (m_zoomScrollView.bounds.size.height - m_zoomScrollView.contentSize.height) * 0.5 : 0.0;

    m_coverImg.center = CGPointMake(m_zoomScrollView.contentSize.width * 0.5 + offsetX,

m_zoomScrollView.contentSize.height * 0.5 + offsetY);

}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章