UIImageView affiche uniquement lorsque j'appelle initWithImage

Pour une raison quelconque, je ne peux qu'afficher une UIImageView quand je alloc/init à chaque itération avec une image différente. Ce qui est étrange c'est que je sais que les données de l'image est en train d'être chargé, car je suis en cours d'exécution de traitement sur l'image et le traitement fonctionne comme prévu. En bref, voici les deux méthodes que j'essayais:

//interface
@interface ViewController : UIViewController <UIAlertViewDelegate>
{

    UIImageView *imageView;

}

@property (nonatomic, retain) UIImageView *imageView;

@end

//implementation
@implementation ViewController

@synthesize imageView;

//...

- (void) loadAndDisplayImage {

    //Load testing image
    UIImage *testImg;
    testImg = [UIImage imageNamed:@"Test.png"];

    self.imageView = [[UIImageView alloc] initWithImage:testImg];

    //size of imageView rect
    CGRect frame = self.imageView.frame;
    int ivw = frame.size.width;
    int ivh = frame.size.height;

    //...

}

@end

Lorsque j'utilise cette méthode self.imageView = [[UIImageView alloc] initWithImage:testImg]; la ivw et ivh la validité des valeurs et l'image est affichée. Cependant, si je change la mise en œuvre de cette:

//implementation
@implementation ViewController

@synthesize imageView;

//...

- (void) viewDidLoad {

    self.imageView = [[UIImageView alloc] init];
    [self loadAndDisplayImage];

}

- (void) loadAndDisplayImage {

    //Load testing image
    UIImage *testImg;
    testImg = [UIImage imageNamed:@"Test.png"];

    self.imageView.image = testImg;

    //size of imageView rect
    CGRect frame = self.imageView.frame;
    int ivw = frame.size.width;
    int ivh = frame.size.height;

    //...

}

@end

Où je suis réglage de l'image à l'aide de self.imageView.image = testImg;, les valeurs ivw et ivh sont tous deux nuls et aucune image n'est affichée, mais le traitement ultérieur sur l'image est toujours précis. Dans les deux cas, je suis de l'envoi de l'image pour le traitement à l'aide [self doRecognizeImage:self.imageView.image];. Je ne peux pas comprendre comment cela est possible. Il permettrait de faire beaucoup plus de sens pour moi si le traitement a échoué lorsque l'image n'a pas pu être démontré.

Idées? Merci.

InformationsquelleAutor Kevin_TA | 2011-12-13