2

UIImageView의 이미지를 아래의 UIImagePickerController 반환으로 설정하려고합니다. 내 UIImageView profileImageView는 viewdidload에서 인스턴스화됩니다. 이상하게도 UIImagePickerController 반환 된 이미지는 profileImageView에 표시되지 않았습니다. 처음에는 이미지 문제라고 생각하여 SR-rewards.jpg에 고정 시켰습니다. NSLog를 추가하면 [profileImageView setImage : [UIImage imageNamed : @ "SR-rewards.jpg"]]가 실행되었지만 profileImageView.image.size.height는 0입니다. 그럼 실행하려면 [profileImageView performSelectorOnMainThread:@selector(setImage:) withObject: [UIImage imageNamed:@"SR-rewards.jpg"] waitUntilDone:YES]; 을 사용하여 다른 촬영을하십시오. 그것은 메인 스레드에 있습니다. 그래도 이미지는 계속 표시되지 않지만 profileImageView.image.size.height는 277로 변경됩니다.imagePickerController set UIImageView.image가 표시된 이미지를 변경하지 않습니다.

원인에 대한 아이디어가 있으십니까? 그리고 어떻게 이미지를 설정할 수 있습니까? 메인 큐

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

    UIImage *chosenImage = info[UIImagePickerControllerEditedImage]; 
    [profileImageView setImage:[UIImage imageNamed:@"SR-rewards.jpg"]];//[self cropImage:smallImage]; 
    NSLog(@"%f" , profileImageView.image.size.height); 
    [picker dismissViewControllerAnimated:YES completion:NULL]; 

} 

안부 해머

+0

프로필 사진보기가 NIL입니다. 중단 점을 사용하여 확인하십시오. – pankaj

답변

7

업데이트 UI.

dispatch_async(dispatch_get_main_queue(), ^{ 
    [profileImageView setImage:[UIImage imageNamed:@"SR-rewards.jpg"]]; 
}); 
+0

올바른 제안입니다. 덕분에 – Hammer

+0

큰 대답 !!! – user023

관련 문제