2

Я пытаюсь установить изображение UIImageView в качестве возврата UIImagePickerController ниже. Мой профиль UIImageViewImageView создается в 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

похоже ваш профильImageVIEW IS NIL. проверьте его с помощью точки останова. – pankaj

ответ

7

обновления пользовательского интерфейса в основной очереди.

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

Это правильное предложение. спасибо – Hammer

+0

Отличный ответ !!! – user023

Смежные вопросы