在scrollview中雙擊定點放大的代碼

雙擊放大是 iPhone 的一個基本操作,第三方程序裏引入這一功能的話,主要是在 scrollview 呈現一張圖片或者 PDF 頁面時,雙擊可以放大,主要代碼如下

- (void)scrollViewDidEndZooming:(UIScrollView *)scrollView withView:(UIView *)view atScale:(float)scale
{
    NSLog(@"%s", _cmd);
    
    CGFloat zs = scrollView.zoomScale;
    zs = MAX(zs, 0.1);
    zs = MIN(zs, 5.0);    
    
    [UIView beginAnimations:nil context:NULL];
    [UIView setAnimationDuration:0.3];        
    scrollView.zoomScale = zs;    
    [UIView commitAnimations];
}

#pragma mark -
#pragma mark === UITouch Delegate ===
#pragma mark -
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{
    //NSLog(@"%s", _cmd);
    
    UITouch *touch = [touches anyObject];
    
    if ([touch tapCount] == 2) 
    {
        //NSLog(@"double click");
        
        CGFloat zs = self.zoomScale;
        zs = (zs == 1.0) ? 2.0 : 1.0;
        
        [UIView beginAnimations:nil context:NULL];
        [UIView setAnimationDuration:0.3];            
        self.zoomScale = zs;    
        [UIView commitAnimations];
    }
}

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