What is the difference between UIImage
and UIImageView
? Can someone explain it with an example?
Example:
UIImage *bgImage = [UIImage imageNamed:@"[email protected]"];
UIImageView *backgroundImageView = [[UIImageView alloc] initWithImage:bgImage];
backgroundImageView.frame = [[UIScreen mainScreen] bounds];
A
UIImage
object is a high-level way to display image data. You can create images from files, from Quartz image objects, or from raw image data you receive. The UIImage class also offers several options for drawing images to the current graphics context using different blend modes and opacity values.Image objects are immutable, so you cannot change their properties after creation. This means that you generally specify an image’s properties at initialization time or rely on the image’s metadata to provide the property value. In some cases, however, the UIImage class provides convenience methods for obtaining a copy of the image that uses custom values for a property.
Because image objects are immutable, they also do not provide direct access to their underlying image data. However, you can get an NSData object containing either a PNG or JPEG representation of the image data using the
UIImagePNGRepresentation
andUIImageJPEGRepresentation
functions.The system uses image objects to represent still pictures taken with the camera on supported devices. To take a picture, use the UIImagePickerController class. To save a picture to the Saved Photos album, use the
UIImageWriteToSavedPhotosAlbum
function.
An
UIImageView
provides a view-based container for displaying either a single image or for animating a series of images. For animating the images, theUIImageView
class provides controls to set the duration and frequency of the animation. You can also start and stop the animation freely.New image view objects are configured to disregard user events by default. If you want to handle events in a custom subclass of
UIImageView
, you must explicitly change the value of theuserInteractionEnabled
property toYES
after initializing the object.When a
UIImageView
object displays one of its images, the actual behavior is based on the properties of the image and the view. If either of the image’sleftCapWidth
ortopCapHeight
properties are non-zero, then the image is stretched according to the values in those properties. Otherwise, the image is scaled, sized to fit, or positioned in the image view according to the contentMode property of the view. It is recommended (but not required) that you use images that are all the same size. If the images are different sizes, each will be adjusted to fit separately based on that mode.All images associated with a
UIImageView
object should use the same scale. If your application uses images with different scales, they may render incorrectly.