iOS应用开发中使用UIScrollView控件来实现图片缩放

2020-01-14 17:31:27王振洲

- (void)viewDidLoad
{
    [super viewDidLoad];
    
    // 1.创建UIScrollView
    UIScrollView *scrollView = [[UIScrollView alloc] init];
    scrollView.frame = CGRectMake(0, 0, 250, 250); // frame中的size指UIScrollView的可视范围
    scrollView.backgroundColor = [UIColor grayColor];
    [self.view addSubview:scrollView];
    
    // 2.创建UIImageView(图片)
    UIImageView *imageView = [[UIImageView alloc] init];
    imageView.image = [UIImage imageNamed:@"big.jpg"];
    CGFloat imgW = imageView.image.size.width; // 图片的宽度
    CGFloat imgH = imageView.image.size.height; // 图片的高度
    imageView.frame = CGRectMake(0, 0, imgW, imgH);
    [scrollView addSubview:imageView];
    
    // 3.设置scrollView的属性
    
    // 设置UIScrollView的滚动范围(内容大小)
    scrollView.contentSize = imageView.image.size;
    
    // 隐藏水平滚动条
    scrollView.showsHorizontalScrollIndicator = NO;
    scrollView.showsVerticalScrollIndicator = NO;
    
    // 用来记录scrollview滚动的位置
//    scrollView.contentOffset = ;
    
    // 去掉弹簧效果
//    scrollView.bounces = NO;
    
    // 增加额外的滚动区域(逆时针,上、左、下、右)
    // top  left  bottom  right
    scrollView.contentInset = UIEdgeInsetsMake(20, 20, 20, 20);
    
    _scrollView = scrollView;
}

- (IBAction)down:(UIButton *)sender {
    [UIView animateWithDuration:1.0 animations:^{
        //三个步骤
        CGPoint offset = _scrollView.contentOffset;
        offset.y += 150;
        _scrollView.contentOffset = offset;
        
        //_scrollView.contentOffset = CGPointMake(0, 0);
    }];
}
@end