Creating UIImage
suggest changeWith local image
Swift
let image = UIImage(named: "imageFromBundleOrAsset")
Objective-C
UIImage *image = [UIImage imageNamed:@"imageFromBundleOrAsset"];
Note
The method imageNamed
caches the image’s contents to memory. > Loading many large images that way can cause low memory warnings which > can lead the app to be terminated. This can be fixed by utilising the > method imageWithContentsOfFile
of UIImage
, which doesn’t use > caching.
With NSData
Swift
let imageData = Data(base64Encoded: imageString, options: Data.Base64DecodingOptions.ignoreUnknownCharacters)
let image = UIImage(data: imageData!)
With UIColor
Swift
let color = UIColor.red
let size = CGSize(width: 200, height: 200)
UIGraphicsBeginImageContextWithOptions(size, false, 0.0)
UIGraphicsGetCurrentContext()!.setFillColor(color.cgColor)
UIGraphicsGetCurrentContext()!.fill(CGRect(origin: .zero, size: size))
let colorImage = UIGraphicsGetImageFromCurrentImageContext()
UIGraphicsEndImageContext()
Objective-C
UIColor *color=[UIColor redColor];
CGRect frame = CGRectMake(0, 0, 80, 100);
UIGraphicsBeginImageContext(frame.size);
CGContextRef context = UIGraphicsGetCurrentContext();
CGContextSetFillColorWithColor(context, [color CGColor]);
CGContextFillRect(context, frame);
UIImage *image = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
With file content
Objective-C
Example:
UIImage *image = [UIImage imageWithContentsOfFile:[[NSBundle mainBundle] pathForResource:[cellCountry objectForKey:@"Country_Flag"] ofType:nil]];
Using Array:
Example:
NSMutableArray *imageArray = [[NSMutableArray alloc] init];
for (int imageNumber = 1; self.myPhoto != nil; imageNumber++) {
NSString *fileName = [NSString stringWithFormat:@"%@.jpg", self.myPhoto];
// check if a file exists
if ([UIImage imageNamed:fileName]) {
// if it exists, add it to the array
[imageArray addObject:[UIImage imageWithContentsOfFile:[[NSBundle mainBundle]pathForResource:[NSString stringWithFormat:@"%@", fileName] ofType:@""]]];
} else {
break;
}
}
//Using image array for animations here:
self.myImageView.animationImages = imageArray;
Found a mistake? Have a question or improvement idea?
Let me know.
Table Of Contents