Zoom ảnh sử dụng UIScrollView

Zoom ảnh sử dụng UIScrollView

Để zoom in/zoom out một bức ảnh bạn có thể sử dụng pinch gesture nhưng việc cấu hình và sử dụng khá phức tạp. Hôm nay mình sẽ hướng dẫn các bạn sử dụng UIScrollView để làm việc này một cách đơn giản.

1. Tạo UIScrollView

Các bạn tạo project kéo UIScrollView vào Storyboard và autolayout cho nó:

Tạo UIScrollView
Hình 1.1 Tạo UIScrollView

Do UIScrollView chưa có content view nên sẽ báo lỗi autolayout. Mình sẽ thêm subview để cho UIScrollView có content view. Ở đây mình sẽ sử dụng UIImageView:

Content view cho UIScrollView
Hình 1.2 Content view cho UIScrollView

UIImageView sẽ cách top, left, right, bottom là 0 và có width, height bằng với UIScrollView.

2. Code xử lý việc zoom ảnh

Sau khi autolayout xong các bạn ánh xạ ScrollView và ImageView vào như bình thường. Sau đó thêm đoạn code sau để có thể zoom được ảnh:

Trước khi zoom ảnh các bạn cần phải set maximumZoomScale và minimumZoomScale cho ScrollView vì mặc định nó là 1, 1 :

Maximumzoomscale
Hình 2.1 Zoom scale

Ở đây mình set là 0.5 và 2.

Lưu ý: cần set User Interaction Enable cho ImageView bằng true thì các bạn mới có thể Zoom được nhé

User Interaction Enable
User Interaction Enable

Sau đó các bạn set cho ImageView một tấm hình và chạy lên thôi. Đây là kết quả:

Cám ơn các bạn đã theo dõi bài viết. Đây là link source code các bạn tham khảo: https://github.com/laptrinh0kho/ZoomImage