Trong mã mẫu iPhone "PhotoScroller" từ WWDC 2010, chúng hiển thị cách thực hiện một mimmic khá tốt của ứng dụng Ảnh bằng cách cuộn, thu phóng và phân trang hình ảnh. Họ cũng xếp hình ảnh để hiển thị cách hiển thị hình ảnh có độ phân giải cao và duy trì hiệu suất tốt.Có thể gạch hình ảnh trong một UIScrollView mà không cần phải tự tạo tất cả các ô?
Tiling được triển khai trong mã mẫu bằng cách lấy trước các hình ảnh được chia tỷ lệ và cắt cho các độ phân giải khác nhau và đặt chúng vào lưới tạo thành toàn bộ hình ảnh.
Câu hỏi của tôi là: có cách nào để gạch hình ảnh mà không cần phải tự đi qua tất cả ảnh của bạn và tạo "ô xếp" không? Ứng dụng Ảnh có thể hiển thị hình ảnh lớn khi đang di chuyển như thế nào?
Sửa Đây là mã từ câu trả lời Deepa của dưới đây:
- (UIImage *)tileForScale:(float)scale row:(int)row col:(int)col size:(CGSize)tileSize image:(UIImage *)inImage
{
CGRect subRect = CGRectMake(col*tileSize.width, row * tileSize.height, tileSize.width, tileSize.height);
CGImageRef tiledImage = CGImageCreateWithImageInRect([inImage CGImage], subRect);
UIImage *tileImage = [UIImage imageWithCGImage:tiledImage];
return tileImage;
}
Deepa, Cảm ơn bạn đã viết mã. Tôi đang nhận được một loạt các lỗi khi tôi cố gắng sử dụng nó. Bạn có nhớ chèn mã để nó định dạng chính xác không. Tôi có thể tạo ra một lỗi phiên mã đơn giản. Cảm ơn! – Jonah
Chà, tôi hiểu rồi. Cám ơn rất nhiều. Đó là một chút chậm trên bay, nhưng nó làm những gì nó nghĩa vụ phải. Tôi sẽ dán mã trong câu hỏi của tôi ở trên. – Jonah
@Jonah: Đây phải là câu trả lời được chấp nhận. – iwasrobbed