Tôi có một bản xem trước và có một uiimageview bên trong nó. Tôi muốn sử dụng để có thể phóng to ra khỏi hình ảnh vì nó là một hình ảnh lớn. scrollview chỉ cần cuộn theo chiều dọc không theo chiều ngang.phóng to thu nhỏ và thu nhỏ không hoạt động chính xác
trước khi thêm hiệu ứng phóng to Tôi có đoạn code sau đây và nó làm việc như tôi muốn,
-(void)viewDidLoad
{
[scrollView setScrollEnabled:YES];
[scrollView setContentSize:CGSizeMake(320, 1690)];
}
Vì vậy, tôi đã làm một số nghiên cứu và kết thúc với đoạn mã sau để cho phép nhúm zoom trong và ngoài,
-(void)viewDidLoad
{
scrollView.scrollEnabled = YES;
[scrollView setContentSize:CGSizeMake(320, 1690)];
scrollView.delegate = self;
// scrollView.contentSize = instImage.frame.size;
scrollView.minimumZoomScale = scrollView.frame.size.width/instImage.frame.size.width;
scrollView.maximumZoomScale = 2.0;
[scrollView setZoomScale:scrollView.minimumZoomScale];
[[NSRunLoop currentRunLoop] runMode:NSRunLoopCommonModes beforeDate:[NSDate distantFuture]];
}
- (UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView {
return instImage;
}
- (CGRect)centeredFrameForScrollView:(UIScrollView *)scroll andUIView:(UIView *)rView {
CGSize boundsSize = scroll.bounds.size;
CGRect frameToCenter = rView.frame;
// center horizontally
if (frameToCenter.size.width < boundsSize.width) {
frameToCenter.origin.x = ((boundsSize.width - frameToCenter.size.width)/2);
}else {
frameToCenter.origin.x = 0;
}
return frameToCenter;
}
- (void)scrollViewDidZoom:(UIScrollView *)scrollV {
instImage.frame = [self centeredFrameForScrollView:scrollV andUIView:instImage];;
}
Bây giờ tôi có những vấn đề sau đây và tôi không thể tìm ra những gì là sai,
khi chế độ xem vừa được tải trước khi bất kỳ thao tác cuộn nào, scrollview không cuộn hết cỡ đến cuối hình ảnh.
khi được ghim để phóng to, nó cuộn sang trái và sang phải và lên và xuống hình ảnh nhưng vẫn không cuộn xuống hết hình ảnh, nhưng vẫn nhiều hơn so với lúc đầu sự bắt đầu.
khi tôi thu nhỏ, toàn bộ điều dừng lại. bạn không thể phóng to hoặc thu nhỏ, nó thậm chí không cuộn nữa. hoàn toàn bị khóa.
Tôi đã thực hiện một số nghiên cứu và tìm thấy bài đăng sau. https://stackoverflow.com/a/6384834/1103257
nhưng tôi không biết tôi sẽ tìm NSDefaultRunLoopMode ở đâu hoặc thậm chí cách tìm kiếm NSDefaultRunLoopMode hoặc thậm chí cách tìm kiếm để tìm hiểu xem điều này có thể giải quyết được hay không.
Cảm ơn @Mona. Tôi cũng phải đối mặt với cùng một vấn đề trên. Nó làm việc cho tôi. :) – iKT