Permalink
Browse files

Merge pull request #216 from TackMobile/master

Allow DTLazyImage URL request customization
  • Loading branch information...
2 parents b578251 + 4a67129 commit dec82123d7e74db79d94bc54c24448114992c0e5 @odrobnik odrobnik committed Sep 10, 2012
Showing with 15 additions and 3 deletions.
  1. +1 −0 Core/Source/DTLazyImageView.h
  2. +14 −3 Core/Source/DTLazyImageView.m
@@ -18,6 +18,7 @@
@interface DTLazyImageView : UIImageView
@property (nonatomic, strong) NSURL *url;
+@property (nonatomic, strong) NSMutableURLRequest *urlRequest;
@property (nonatomic, assign) BOOL shouldShowProgressiveDownload;
@property (nonatomic, assign) id<DTLazyImageViewDelegate> delegate; // subtle simulator bug - use assign not __unsafe_unretained
@@ -52,9 +52,14 @@ - (void)loadImageAtURL:(NSURL *)url
@autoreleasepool
{
- NSURLRequest *request = [[NSURLRequest alloc] initWithURL:url cachePolicy:NSURLRequestReturnCacheDataElseLoad timeoutInterval:10.0];
+ if (_urlRequest == nil) {
+ _urlRequest = [[NSMutableURLRequest alloc] initWithURL:url cachePolicy:NSURLRequestReturnCacheDataElseLoad timeoutInterval:10.0];
+ } else {
+ [_urlRequest setCachePolicy:NSURLRequestReturnCacheDataElseLoad];
+ [_urlRequest setTimeoutInterval:10.0];
+ }
- _connection = [[NSURLConnection alloc] initWithRequest:request delegate:self startImmediately:NO];
+ _connection = [[NSURLConnection alloc] initWithRequest:_urlRequest delegate:self startImmediately:NO];
[_connection scheduleInRunLoop:[NSRunLoop currentRunLoop] forMode:NSRunLoopCommonModes];
[_connection start];
@@ -67,7 +72,7 @@ - (void)didMoveToSuperview
{
[super didMoveToSuperview];
- if (!self.image && _url && !_connection && self.superview)
+ if (!self.image && (_url || _urlRequest) && !_connection && self.superview)
{
UIImage *image = [_imageCache objectForKey:_url];
@@ -277,5 +282,11 @@ - (void)connection:(NSURLConnection *)connection didFailWithError:(NSError *)err
@synthesize url = _url;
@synthesize shouldShowProgressiveDownload;
+@synthesize urlRequest = _urlRequest;
+
+- (void) setUrlRequest:(NSMutableURLRequest *)request {
+ _urlRequest = request;
+ self.url = [_urlRequest URL];
+}
@end

0 comments on commit dec8212

Please sign in to comment.