UiImageView não exibindo imagem - iPhone SDK
-
25-09-2019 - |
Pergunta
Estou usando o AvFramework para capturar quadros de câmera e gostaria de processar e exibi -los em um UIImageView, mas estou tendo alguns problemas. Eu tenho o código:
// Delegate routine that is called when a sample buffer was written
- (void)captureOutput:(AVCaptureOutput *)captureOutput didOutputSampleBuffer:(CMSampleBufferRef)sampleBuffer fromConnection:(AVCaptureConnection *)connection
{
//NSLog(@"Capturing\n");
// Create a UIImage from the sample buffer data
UIImage *image = [self imageFromSampleBuffer:sampleBuffer];
NSLog(@"Image: %f %f\n", image.size.height, image.size.width);
[imageView setImage:image];
}
No entanto, ele não será exibido. O tamanho correto aparece no NSLog
, e quando eu coloco:
[imageView setImage:[UIImage imageNamed:@"SomethingElse.png"]];
No ViewDidload, uma imagem é exibida corretamente (então eu sei que o UIImageView está conectado corretamente).
Existe alguma razão para isso não deve funcionar ??? Estou perdido agora.
Saúde, Brett
Solução
Você está fazendo isso no tópico principal? Você pode usar a fila principal para o delegado (indesejável, porque está fazendo processamento primeiro) ou:
dispatch_async(dispatch_get_main_queue(), ^{
imageView.image = ...;
});
Outras dicas
O ImageView é definido corretamente? Se ImageView é realmente nulo, sua chamada para [imageView setImage:image];
Silenciosamente não fará nada.