2013-09-10 8 views
0

Xcode 5 및 스토리 보드로 놀고 있습니다. 나는 카메라를 사용하여 UIImage을 캡처 한 시점에 있지만 캡처 한 후에 이미지를 휴대 전화에 표시하는 방법을 알 수 없습니다. IBOutlet UIImageView을 지정하고 카메라에서 캡처 한 이미지의 값을 설정했지만 아무 것도하지 않는 것 같습니다.UIImageView에서 UIImage를 어떻게 표시 할 수 있습니까?

2013-09-10 17:17:45.169 YourMom[6136:60b] <UIImageView: 0x1556fdc0; frame = (0 0; 0 0); userInteractionEnabled = NO; layer = <CALayer: 0x155d5b10>> 

내 스토리 보드 :

- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info 
{ 
    // Get the picture from the camera 
    UIImage *imageFromCamera = [info objectForKey:UIImagePickerControllerEditedImage]; 

    // Set the IBOutlet UIImageView to the picture from the camera 
    // This does nothing as far as I can tell 
    self.image = [[UIImageView alloc] initWithImage:imageFromCamera]; 

    // Let's take a closer look at this 
    NSLog(@"%@", self.image); 

    // Close the camera view controller 
    [self dismissViewControllerAnimated:YES completion:nil]; 
} 

이 내가 self.image에 대한 로거에서 볼 것입니다 :

내 인터페이스 :

@interface HCViewController() 

@property (nonatomic, retain) IBOutlet UIImageView *image; 

@end 

그리고 이것은 내 didFinishPickingWithMediaInfo 방법 다시 스 와이프 할 수있는 두 개의 다른 장면이있는 View Controller와 fo가 있습니다. rth. 두 장면 모두 하위 항목으로 "이미지보기"가있는 "보기"가 있습니다. 이미지 뷰에는 인터페이스에서 정의한 image 변수에 연결된 것으로 보이는 "참조 콘센트"가 있습니다. 그러나 단순히 image 값을 설정해도 전화 표시가 변경되지는 않습니다.

이 질문을 읽은 후 : How can I change the image displayed in an UIImageView programmatically? 나는 [self.image setImage:image]을 시도했지만 아무 것도하지 않는 것으로 보입니다. Xcode에서 image이보기에 나타나도록하려면 어떻게해야합니까?

답변

3

귀하의 실수는이에 있습니다

self.image = [[UIImageView alloc] initWithImage:imageFromCamera]; 

스토리 보드를 사용하고 있기 때문에 당신의 UIImageView 당신을 위해 초기화됩니다. 이 코드 줄을 실행하면 이전 UIImageView을 버리고 프레임이없는 새 UIImageView으로 바꿉니다.

당신은이 작업을 수행해야합니다

[self.image setImage:imageFromCamera] 

또한,이 정보에서 잘못된 이미지를 받고있을 수 있습니다. UIImagePickerControllerEditedImage 대신 UIImagePickerControllerOriginalImage을 시도하십시오. 호프가 도움이되기를 바랍니다.

+0

두 분 모두 맞았습니다. 매우 감사합니다. 나는 StackOverflow를 좋아한다! –

+1

반갑습니다. YourMom은 멋진 앱입니다. :) – Arcanfel

1
// this is your delegate method to set the image taken from your camera 

- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info { 

// Get the picture from the camera 
    UIImage *imageFromCamera = [info objectForKey:UIImagePickerControllerEditedImage]; 

// alloc image view as you have to set it image on it 
    UIImageView *imgView = [[UIImageView alloc]init]; 
    imgView.image = imageFromCamera; 

// you can also set the image on button like this 
    UIImage *imageFromCamera = [info objectForKey:UIImagePickerControllerEditedImage]; 
// imgBtn is UIButton property 
    [self.imgBtn setImage:imageFromCamera forState:UIControlStateNormal]; 

// Let's take a closer look at this 
    NSLog(@"%@", self.image); 

// Close the camera view controller 
    [self dismissViewControllerAnimated:YES completion:nil]; 

} 
1

있는 UIImage보기 image라는 속성이 있습니다.

이 속성의 형식은 UIImage입니다. 당신이 UIImage이있는 경우

그래서, 다음 다음과 같이 속성을 설정할 수 있습니다

imageView.image = image; 
0

당신은 당신의 이미지를 표시하려면이 코드를 시도 할 수 있습니다.

imageView.image : UIImage = UIImage(named: "YourImageName") 

희망이 있으면 문제를 해결하는 데 도움이됩니다.

관련 문제