프로그래밍 방식으로 UIImageView에 표시되는 이미지를 어떻게 변경할 수 있습니까?
나는이 IBOutlet
A를 UIImageView
하지만, 내가 볼 때 UIImageView
문서, 내가 프로그래밍 방식 변경에 대한 어떤 힌트를 볼 수 없습니다. 그 UIImage
객체 를 가져와야 UIImageView
합니까?
UIImageView에 대한 IBOutlet이 이미 있으면 이미지를 잡고 수신자 (UIImageView)에서 setImage를 호출하기 만하면됩니다. 이미지를 잡는 두 가지 예는 다음과 같습니다. 하나는 웹에서, 하나는 Xcode의 Resources 폴더에 추가합니다.
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에 추가 한 다음 전환을 추가 할 수 있습니다.
PS 메모리 관리는 포함되어 있지 않습니다.
NIB 파일은 뷰가 장면에 추가 될 때까지 모든 IBOutlet을 연결하지 않습니다. 수동으로 작업을 수행하는 경우 (사물이 별도의 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"];
이것은 나를 위해 일했다
[ImageViewName setImage:[UIImage imageNamed: @"ImageName.png"]];
ImageView가 .h 파일에서 올바르게 선언되고 IB 요소와 연결되어 있는지 확인하십시오.
imageView.image = [UIImage imageNamed:@"myImage.png"];
인터넷 검색을 통해 문제를 해결하려는 사람들을 위해 헤더 파일에서 속성을 올바르게 선언하고 구현 파일에서 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]];
스위프트의 예 :
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")!)!)
}
}
Jordan의 조언 (실제로 작동해야 함)에 따라 UIImageView가 표시되도록 설정하십시오.
[imageView setHidden: NO];
또한 기본 UIView에 첨부하는 것을 잊지 마십시오.
[mainView addSubview: imageView];
그리고 정면으로 가져 :
[mainView bringSubviewToFront: imageView];
이 모든 단계를 결합하면 수수께끼를 풀 수 있습니다.
내 문제는 다른 스레드에서 이미지를 변경하려고 시도했다는 것입니다. 나는 이것을 좋아했다 :
- (void)changeImage {
backgroundImage.image = [UIImage imageNamed:@"img.png"];
}
전화 :
[self performSelectorOnMainThread : @selector(changeImage) withObject:nil waitUntilDone:NO];
UIImageView
프로그래밍 방식으로 이미지를 설정 하려면 기본보기에 SubView 로 추가 UIImageView
하는 것을 잊지 마십시오 .
또한 ImageView Frame 설정을 잊어 버리지 않았습니다 .
여기 코드가 있습니다
UIImageView *myImage = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, 320, 460)];
myImage.image = [UIImage imageNamed:@"myImage.png"];
[self.view addSubview:myImage];
Don't forget to call sizeToFit()
after you change image if you then use size of UIImageView to set UIScrollView contentSize and/or compute zoom scale
let image = UIImage(named: "testImage")
imageView.image = image
imageView.sizeToFit()
scrollView.contentSize = imageView.bounds.size
myUIImageview.image = UIImage (named:"myImage.png")
UIColor * background = [[UIColor alloc] initWithPatternImage:
[UIImage imageNamed:@"anImage.png"]];
self.view.backgroundColor = background;
[background release];
This question already had a lot of answers. Unfortunately none worked for me. So for the sake of completenes I add what helped me:
I had multiple images with the same name - so I ordered them in sub folders. And I had the full path to the image file I wanted to show. With a full path imageNamed:
(as used in all solutions above) did not work and was the wrong method.
Instead I now use imageWithContentsOfFile:
like so:
self.myUIImage.image = [UIImage imageWithContentsOfFile:_currentWord.imageFileName];
Don't know, if anyone reads that far?
If so and this one helped you: please vote up. ;-)
Working with Swift 5 (XCode 10.3) it's just
yourImageView.image = UIImage(named: "nameOfTheImage")
To set image on your imageView use below line of code,
self.imgObj.image=[UIImage imageNamed:@"yourImage.png"];
'Programing' 카테고리의 다른 글
변수가 정수인지 확인 (0) | 2020.06.28 |
---|---|
HTML5 오디오 중지 기능 (0) | 2020.06.28 |
마스터와 슬레이브에 MySQL 복제의 경우 다른 데이터베이스가있는 경우 MySQL 데이터베이스를 다시 동기화하는 방법은 무엇입니까? (0) | 2020.06.27 |
기본 및 하위 클래스를 사용한 Python 단위 테스트 (0) | 2020.06.27 |
유튜브 iframe W 모드 문제 (0) | 2020.06.27 |