// // DTLazyImageView.h // DTCoreText // // Created by Oliver Drobnik on 5/20/11. // Copyright 2011 Drobnik.com. All rights reserved. // #import "DTWeakSupport.h" @class DTLazyImageView; // Notifications extern NSString * const DTLazyImageViewWillStartDownloadNotification; extern NSString * const DTLazyImageViewDidFinishDownloadNotification; /** Protocol for delegates of to inform them about the downloaded image dimensions. */ @protocol DTLazyImageViewDelegate @optional /** Method that informs the delegate about the image size so that it can re-layout text. @param lazyImageView The image view @param size The image size that is now known */ - (void)lazyImageView:(DTLazyImageView *)lazyImageView didChangeImageSize:(CGSize)size; @end /** This `UIImageView` subclass lazily loads an image from a URL and informs a delegate once the size of the image is known. */ @interface DTLazyImageView : UIImageView /** @name Providing Content */ /** The URL of the remote image */ @property (nonatomic, strong) NSURL *url; /** The URL Request that is to be used for downloading the image. If this is left `nil` the a new URL Request will be created */ @property (nonatomic, strong) NSMutableURLRequest *urlRequest; /** @name Getting Information */ /** Set to `YES` to support progressive display of progressive downloads */ @property (nonatomic, assign) BOOL shouldShowProgressiveDownload; /** The delegate, conforming to , to inform when the image dimensions were determined */ @property (nonatomic, DT_WEAK_PROPERTY) id delegate; /** @name Cancelling Download */ /** Cancels the image downloading */ - (void)cancelLoading; @end