Как изменить изображение внутри изображения? xCode 4.2 - PullRequest
0 голосов
/ 13 февраля 2012

Я искал часы и не могу найти решение.у меня есть изображение, я объявил его как IBOutlet, внутри этого изображения я уже поместил изображение, используя сборку интерфейса xCode 4.2.

Теперь мой вопрос, какая строка кода может изменитьimage of imageview?

Старые, такие как UIImage *image = [UIImageView imageNamed:@"image2.png"];

, не работают, потому что говорят, что * image - неиспользуемая переменная.это также дает мне ошибку в imageNamed говорит, что нет известного метода класса для селектора 'imageName'

Что за новый код в 4.2?или я что-то не так делаю?

Ответы [ 5 ]

4 голосов
/ 13 февраля 2012
myImageView.image = [UIImage imageNamed:@"image2.png"];

Это должно сделать это.UIImageView имеет свойство image, которое вы можете установить, как указано выше, или используя метод -setImage:, предоставленный свойством.Кроме того, начиная с документы :

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

Другие ваши вопросы:

не работает, поскольку говорит, что * изображение не используетсяпеременная.

В предоставленном вами коде вы присваиваете изображение локальной переменной.Если вы не сделаете что-то с этой переменной, в этом коде нет смысла.Вместо этого присвойте изображение свойству image вашего изображения, как описано выше.

также выдает ошибку в imageNamed говорит, что нет известного метода класса для селектора 'imageName'

Это просто выглядит как опечатка в вашем коде.Отсутствие «d» в «imageName», безусловно, является проблемой.

Что нового в 4.2?

Ничего не изменилось в отношении настройки изображениянасколько я знаю.Я думаю, что у вас есть пара небольших проблем в вашем коде.

1 голос
/ 13 февраля 2012

Это ты что-то делаешь не так. Вы смешиваете UIImage и UIImageView классы. Первый предназначен для представления данных изображения в памяти. Последний представляет UIImage экземпляров в представлении.

Вы должны изменить свою строку на:

imageViewOutlet.image = [UIImage imageNamed:@"image2.png"];

Обратите внимание, что я использую класс UIImage для присвоения изображения свойству UIImageView image.

0 голосов
/ 05 июня 2013

Это прекрасно работает для меня.oldImage является IBOutlet UIImageView.Метод setCellImage находится внутри пользовательского класса UITableViewCell.

- (void)setCellImage:(UIImage*)newImage{



[self.oldImage setImage:newImage];


}
0 голосов
/ 13 февраля 2012

Вы пытаетесь объявить новую переменную и не используете ivar, который вы объявили с помощью IBOutlet

0 голосов
/ 13 февраля 2012

Вам нужно назначить

[UIImage imageNamed:@"image2.png"]

до image свойства ивара IBOutlet.

Например, если ваш IBOutlet определен:

@property (nonatomic, strong) IBOutlet UIImageView *imageView;

назначить так:

imageView.image = [UIImage imageNamed:@"image2.png"];
...