Разница между UIImage и UIImageView

В чем разница между UIImage а также UIImageView? Может кто-нибудь объяснить это на примере?

5 ответов

Решение

Пример:

UIImage *bgImage = [UIImage imageNamed:@"Default@2x.png"];
UIImageView *backgroundImageView = [[UIImageView alloc] initWithImage:bgImage];
backgroundImageView.frame = [[UIScreen mainScreen] bounds];

UIImage Обзор:

UIImage Объект - это высокоуровневый способ отображения данных изображения. Вы можете создавать изображения из файлов, из объектов изображений Quartz или из необработанных данных изображений, которые вы получаете. Класс UIImage также предлагает несколько опций для рисования изображений в текущем графическом контексте с использованием различных режимов наложения и значений непрозрачности.

Объекты изображений являются неизменяемыми, поэтому вы не можете изменять их свойства после создания. Это означает, что вы обычно указываете свойства изображения во время инициализации или полагаетесь на метаданные изображения для предоставления значения свойства. Однако в некоторых случаях класс UIImage предоставляет удобные методы для получения копии изображения, в которой для свойства используются пользовательские значения.

Поскольку объекты изображений являются неизменяемыми, они также не обеспечивают прямой доступ к данным, лежащим в их основе. Однако вы можете получить объект NSData, содержащий представление данных изображения в формате PNG или JPEG, используя UIImagePNGRepresentation а также UIImageJPEGRepresentation функции.

Система использует объекты изображений для представления неподвижных изображений, сделанных камерой на поддерживаемых устройствах. Чтобы сделать снимок, используйте класс UIImagePickerController. Чтобы сохранить изображение в альбом сохраненных фотографий, используйте UIImageWriteToSavedPhotosAlbum функция.

UIImageView Обзор:

UIImageView предоставляет контейнер на основе вида для отображения одного изображения или анимации серии изображений. Для анимации изображений UIImageView Класс предоставляет элементы управления для установки продолжительности и частоты анимации. Вы также можете запускать и останавливать анимацию свободно.

Новые объекты просмотра изображений по умолчанию настроены на игнорирование пользовательских событий. Если вы хотите обрабатывать события в пользовательском подклассе UIImageViewВы должны явно изменить значение userInteractionEnabled собственность на YES после инициализации объекта.

Когда UIImageView Объект отображает одно из своих изображений, фактическое поведение которого основано на свойствах изображения и вида. Если одно из изображений leftCapWidth или же topCapHeight свойства не равны нулю, тогда изображение растягивается в соответствии со значениями в этих свойствах. В противном случае изображение масштабируется, изменяется по размеру или размещается в представлении изображения в соответствии со свойством contentMode представления. Рекомендуется (но не обязательно) использовать изображения одинакового размера. Если изображения имеют разные размеры, каждое из них будет отрегулировано для соответствия отдельно в зависимости от этого режима.

Все изображения, связанные с UIImageView объект должен использовать тот же масштаб. Если ваше приложение использует изображения с разным масштабом, они могут отображаться неправильно.

UIImage содержит данные для изображения.UIImageView это пользовательский вид, предназначенный для отображения UIImage,

Короче говоря: вы создаете экземпляр UIImage объект для хранения данных изображения, например:

 NSString *sourcePath = [[[NSBundle mainBundle] resourcePath] stringByAppendingPathComponent:@"/picture.jpg"]; //assuming your image is in your app's bundle
UIImage *img = [[UIImage alloc]initWithContentsOfFile:sourcePath];

Затем вы создаете экземпляр UIImageView или через IB или код для отображения вашего изображения на экране, например так:

[imageView1 setImage:img];  //assume you already create an instance of UIImageView named imageView1

UIImage это объект данных, который содержит байты изображения.

UIImageView это элемент управления, который отображает UIImage данные.

UIImage объекты хранят данные из изображения (то есть данные из файла PNG)

UIImageView объекты используются для отображения UIImage

UIimage - это объект, который хранит данные (Jpg, png...) и UIImageView класс, который содержит UIImage как собственность.UIImageView может иметь несколько UIImages, а также UIImageнеизменен. Меня это беспокоило давным-давно, когда вы создаете изображение, вы делаете:

 var image: UIImageView!

Но когда вы выполняете этот "образ", вы делаете

image.image = UIImage.init(named: "image")

Это действительно просто, вы используете UIimageView, чтобы создать изображение с UIImage.UIImage отображает изображение, и UIImageView контейнер для этого UIImage.

UIImage хранит данные как изображения (изображения) и отображает их в UIImageView.

UIImageView - это тип контейнера для отображения изображений.

UIImageView *myImage = [[UIImageView alloc]init];
[myImage setImage:[UIImage imageNamed:@"1.png"]];

создайте экземпляр для UIImageView как "myImage". Это помогает отображать данные.UIImage помогает хранить данные 1.png из файла ресурсов в xcode.

Другие вопросы по тегам