Easy loading image in UIImageView.

E

Replace –

SelectedThemesController— (replace your class name)

[SelectedThemesController processImageDataWithURLString:imgUrl andBlock:^(NSData *imageData)

{

if (self.view.window)

{

UIImage *image = [UIImage imageWithData:imageData];

if (!image) //not found show default image

{

pofferimg.image=[UIImage imageNamed:@”11_240X240.png”];

}

else //found

{

NSArray *subviewArray = [pofferimg subviews];

for (UIView *view in subviewArray){

if([view isKindOfClass:[UIActivityIndicatorView class]]){

UIActivityIndicatorView *activity = (UIActivityIndicatorView *)view;

[activity stopAnimating];

[activity removeFromSuperview];

}

}

// How to find centre image in original image

UIImage *imageGNoff = image;

CGSize imageSize = imageGNoff.size;

CGFloat width = imageSize.width;

CGFloat height = imageSize.height;

if (width != height)

{

CGFloat newDimension = MIN(width, height);

CGFloat widthOffset = (width – newDimension) / 2;

CGFloat heightOffset = (height – newDimension) / 2;

UIGraphicsBeginImageContextWithOptions(CGSizeMake(newDimension,newDimension), NO, 0.);

[imageGNoff drawAtPoint:CGPointMake(-widthOffset, -heightOffset)

blendMode:kCGBlendModeCopy

alpha:1.];

imageGNoff = UIGraphicsGetImageFromCurrentImageContext();

UIGraphicsEndImageContext();

}

pofferimg.image=imageGNoff;

}

}

}];

Declare following method as class method:

#pragma mark – Class Method

+(void)processImageDataWithURLString:(NSString *)urlString andBlock:(void (^)(NSData *imageData))processImage

{

NSString *imgUrl=urlString;

imgUrl=[imgUrl stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];

NSURL *url = [NSURL URLWithString:imgUrl];

dispatch_queue_t callerQueue = dispatch_get_current_queue();

dispatch_queue_t downloadQueue = dispatch_queue_create(“com.myapp.processsmagequeue”, NULL);

dispatch_async(downloadQueue, ^{

NSData * imageData = [NSData dataWithContentsOfURL:url];

dispatch_async(callerQueue, ^{

processImage(imageData);

});

});

// dispatch_release(downloadQueue);

}

 

About the author

ankush.ladhane
By ankush.ladhane

Category