У меня есть IBOutlet
до UIImageView
, но когда я смотрю на документ UIImageView
, я не вижу никакого намека на его программное изменение. Должен ли я получить объект UIImage
из этого UIImageView
?Как я могу изменить изображение, отображаемое в программном обеспечении UIImageView?
ответ
Если у вас уже есть IBOutlet для UIImageView, вам нужно всего лишь захватить изображение и вызвать setImage на ресивере (UIImageView). Ниже приведены два примера захвата изображения. Один из Интернета, а другой - в папку «Ресурсы» в Xcode.
UIImage *image = [[UIImage alloc] initWithData:[NSData dataWithContentsOfURL:[NSURL URLWithString:@"http://farm4.static.flickr.com/3092/2915896504_a88b69c9de.jpg"]]];
или
UIImage *image = [UIImage imageNamed: @"cell.png"];
После того, как у вас есть изображение, которое вы можете установить UIImageView:
[imageView setImage:image];
Линия выше предполагает ImageView ваш IBOutlet.
Вот и все! Если вы хотите получить фантазию, вы можете добавить изображение в UIView, а затем добавить переходы.
P.S. Управление памятью не включено.
Следуя совету Джордана (который должен работать на самом деле), попытайтесь установить UIImageView, чтобы быть видимым:
[imageView setHidden: NO];
, а также - не забудьте прикрепить его к главному UIView:
[mainView addSubview: imageView];
и принести на фронт:
[mainView bringSubviewToFront: imageView];
Надежда комбинируя все эти шаги помогут вам SOLV тайна.
Это работало для меня
[ImageViewName setImage:[UIImage imageNamed: @"ImageName.png"]];
Убедитесь, что ImageView правильно объявлена в файле .h и связан с элементом IB.
Для людей, которые могут пытаться решить эту проблему, не забудьте правильно объявить свойство в своем файле заголовка и синтезировать UIImageView в вашем файле реализации ... Будет сложно установить изображение программно без методов getter и setter.
#import <UIKit/UIKit.h>
@interface YOURCONTROLLERNAME : UIViewController {
IBOutlet UIImageView *imageToDisplay;
}
@property (nonatomic, retain) IBOutlet UIImageView *imageToDisplay;
@end
, а затем в вашем .m:
@implementation YOURCONTROLLERNAME
@synthesize imageToDisplay;
//etc, rest of code goes here
Оттуда вы должны быть хорошо использовать что-то вроде следующего, чтобы установить изображение.
[YOURCONTROLLER.imageToDisplay setImage:[UIImage imageNamed:value]];
Спасибо! Будучи новичком в xcode и iphones, я вообще не пропускал YOURCONTROLLER перед изображением. – Opy
Обратите внимание, что файл NIB не подключает все IBOutlets до тех пор, пока представление не будет добавлено в сцену. Если вы подключаете вещи вручную (что вы можете делать, если что-то происходит в отдельных NIB), это важно иметь в виду.
Так что, если мой вид теста контроллер имеет «ImageView» проводную с помощью кончика пера, это, вероятно, не будет работать:
testCardViewController.imageView.image = [UIImage imageNamed:@"EmptyCard.png"];
[self.view addSubview:testCardViewController.view];
Но это будет:
[self.view addSubview:testCardViewController.view];
testCardViewController.imageView.image = [UIImage imageNamed:@"EmptyCard.png"];
Моя проблема заключалась в том, что я попытался изменить изображение в другом потоке. Я сделал так:
- (void)changeImage {
backgroundImage.image = [UIImage imageNamed:@"img.png"];
}
вызовов с:
[self performSelectorOnMainThread : @selector(changeImage) withObject:nil waitUntilDone:NO];
Yup, это немного меня ... снова ... Можно также использовать 'dispatch_async (dispatch_get_main_queue(),^{backgroundImage.image = [UIImage imageNamed: @" img.png "];})' – Dex
UIColor * background = [[UIColor alloc] initWithPatternImage:
[UIImage imageNamed:@"anImage.png"]];
self.view.backgroundColor = background;
[background release];
Это то же самое для настоящее изображение с помощью фона UIView или свойства изображения UIImageView? – voromax
Если вы хотите установить изображение в UIImageView
программно, то не забудьте добавить UIImageView
в подвид к основному View.
А также не забыл установить ImageView Frame.
здесь код
UIImageView *myImage = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, 320, 460)];
myImage.image = [UIImage imageNamed:@"myImage.png"];
[self.view addSubview:myImage];
imageView.image = [UIImage imageNamed:@"myImage.png"];
Этот вопрос уже много ответов. К сожалению, никто не работал для меня. Итак, для дополнения я добавлю, что помогло мне:
У меня было несколько изображений с тем же именем - поэтому я заказал их в подпапках. И у меня был полный путь к файлу изображения, который я хотел показать. С полным путем imageNamed:
(как используется во всех вышеперечисленных решениях) не работал и был неправильным методом.
Вместо этого я теперь использовать imageWithContentsOfFile:
так:
self.myUIImage.image = [UIImage imageWithContentsOfFile:_currentWord.imageFileName];
Не знаю, если кто-то читает, что далеко?
Если это так, и этот помог вам: пожалуйста, проголосуйте. ;-)
Пример в Swift:
import UIKit
class ViewController: UIViewController {
@IBOutlet var myUIImageView: UIImageView!
override func viewDidLoad() {
super.viewDidLoad()
}
@IBAction func myAction(sender: UIButton) {
let newImg: UIImage? = UIImage(named: "profile-picture-name")
self.myUIImageView.image = newImg
}
@IBAction func myAction2(sender: UIButton) {
self.myUIImageView.image = nil
self.myUIImageView.image = UIImage(data: NSData(contentsOfURL: NSURL(string: "http://url/image.png")!)!)
}
}
myUIImageview.image = UIImage (named:"myImage.png")
Отмечено как очень низкое качество. Пожалуйста, улучшите его. – Drew
Вы можете сделать это, расширив его. –
Не забудьте позвонить sizeToFit()
после изменения изображения, если вы затем использовать размер UIImageView, чтобы установить UIScrollView contentSize и/или вычислительных увеличение масштаба
let image = UIImage(named: "testImage")
imageView.image = image
imageView.sizeToFit()
scrollView.contentSize = imageView.bounds.size
Чтобы установить изображение на использовании ImageView ниже строки кода,
self.imgObj.image=[UIImage imageNamed:@"yourImage.png"];
скопируйте изображение в свой проект, а затем используйте код выше –
- 1. как изменить UIImageView изображения в программном
- 2. Как я могу ограничить фоновые данные в программном обеспечении Android?
- 3. Как я могу изменить изображение, отображаемое в UIImageView в ячейке программно?
- 4. Изменить адрес в промежуточном программном обеспечении Django
- 5. Изменить запрос в промежуточном программном обеспечении?
- 6. Изменить OWIN Request.Body в промежуточном программном обеспечении
- 7. Изменить заголовок запроса в промежуточном программном обеспечении
- 8. В промежуточном программном обеспечении, как я могу получить текущего пользователя?
- 9. Я ищу человека в среднем программном обеспечении
- 10. Как изменить уровень журнала регистрации в программном обеспечении Java?
- 11. Поиск уязвимостей в программном обеспечении
- 12. Могу ли я предупредить пользователя о маршруте/промежуточном программном обеспечении?
- 13. Как я могу сделать UIImageView программным образом изменить его изображение?
- 14. Как изменить параметр длины данных в программном обеспечении maxima?
- 15. Как изменить размер шрифта ProgressDialog Message в программном обеспечении Android?
- 16. Как изменить размер шрифта адресной строки в программном обеспечении Chrome
- 17. Как изменить параметры в промежуточном программном обеспечении Guzzle?
- 18. Как отключить GPS в Android-программном программном обеспечении?
- 19. CA в программном обеспечении R
- 20. Slim - изменение настроек в промежуточном программном обеспечении
- 21. Изменить изображение в UIImageView
- 22. Как использовать Y.mojito.models в промежуточном программном обеспечении?
- 23. Изменение настроек принтера в программном обеспечении Windows
- 24. Изменение ввода в промежуточном программном обеспечении laravel
- 25. Изменить изображение, отображаемое в изображенииView
- 26. Encapsulate Use Cases в программном обеспечении
- 27. ruby rack - не может изменить ARGV в промежуточном программном обеспечении?
- 28. Как настроить прокрутки в программном обеспечении Android?
- 29. Как работает автономная активация в программном обеспечении
- 30. Как встроить навигационный контроллер в программном обеспечении?
спасибо, но это не сработает :( Я удалил изображение в построителе интерфейса, так что UIImageView пуст. то я реализовал это в методе viewDidLoad. Но ничего не происходит. Название изображения указано на 100% правильно. Я также назначил его setImage к розетке. Что-нибудь еще я могу попробовать? – Thanks
Возможно, вы не подключили IBOutlet к ссылке ViewController в IB. Проверьте, что изображение находится в папке «Ресурсы». – Jordan
Я не уверен, что правила necro/влияние на SO, но я знаю, что это помогло мне решить мою проблему. Я использую iOS v5.1, xcode 4.3.2 – Jake