2010-03-28 8 views
0

Je suis un noob à OBJ-C :)ajoutant UIImageView à UIScrollView jette touche de cacao d'exception pour iPad

Je suis en train d'ajouter un UIImageView à un UIScrollView pour afficher une grande image dans mon application iPhone.

J'ai suivi le tutoriel ici exactement:

http://howtomakeiphoneapps.com/2009/12/how-to-use-uiscrollview-in-your-iphone-app/

La seule différence est que dans mon application la vue est dans un onglet séparé et j'utilise une autre image.

voici mon code:

- (void)viewDidLoad { 
    [super viewDidLoad]; 
    UIImageView *tempImageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"Cheyenne81"]]; 
    self.imageView = tempImageView; 
    [tempImageView release]; 

    scrollView.contentSize = CGSizeMake(imageView.frame.size.width, imageView.frame.size.height); 
    scrollView.maximumZoomScale = 4.0; 
    scrollView.minimumZoomScale = 0.75; 
    scrollView.clipsToBounds = YES; 
    scrollView.delegate = self; 
    [scrollView addSubview:imageView]; 
} 

- (UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView{ 
    return imageView; 
} 

et:

@interface UseScrollViewViewController : UIViewController<UIScrollViewDelegate>{ 
    IBOutlet UIScrollView *scrollView; 
    UIImageView *imageView; 
} 

@property (nonatomic, retain) UIScrollView *scrollView; 
@property (nonatomic, retain) UIImageView *imageView; 

@end 

Je crée alors un UIScrollView dans Interface Builder et lien à la sortie ScrollView. C'est quand j'ai le problème. Lorsque je lance le programme, il se bloque instantanément. Si je l'exécute sans lier le scrollView à la prise, il fonctionnera (tout cela avec un écran blnk).

Ce qui suit est l'erreur que je reçois dans la console:

2010-03-27 20: 18: 13,467 UseScrollViewViewController [7421: 207] *** Terminating app due to uncaught exception 'NSUnknownKeyException', reason: '[<UIViewController 0x4a179b0> setValue:forUndefinedKey:]: this class is not key value coding-compliant for the key scrollView.'

Répondre

0

En premier lieu, l'obligation « la iPad SDK est toujours sous NDA, donc vous ne devriez pas poster cette question ici, et nous ne pouvons pas vous aider "réponse. Maintenant, si cela était et l'application iPhone, je dirais vérifier dans le constructeur de l'interface: cliquez sur "propriétaire du fichier" et dans l'inspecteur, assurez-vous que la classe est définie pour être la classe que vous utilisez pour charger la plume.

+0

c'est une application iPhone, je ne sais pas de quoi vous parlez;) Merci pour la réponse, il n'y a qu'une seule connexion à proprement parler, non? J'ai connecté le scrollView dans IB à la sortie de scrollView par contrôle + clic glisser de UIScrollView au propriétaire du fichier et sélectionné la sortie "scrollView". Y a-t-il autre chose que je devrais faire? (Je suis très nouveau à ce sujet, donc je suis sûr que c'est une erreur très évidente de ma part) – Brodie

+0

voir modifier dans la réponse ci-dessus. –

+0

J'ai vérifié et le propriétaire du fichier a été mis à la classe dans laquelle le code indiqué ci-dessus vient. La classe du propriétaire de ce fichier ne doit-elle pas être définie sur la classe qui contient tout le code ci-dessus? Ceci est une application de visualisation d'onglets.De toute façon j'ai essayé de changer la classe à firstResponder ainsi que l'AppDelegate et j'ai toujours eu le même plantage dès que j'ai chargé l'application. – Brodie

1

Essayez d'ajouter

@synthesize imageView; 

dans le @implementation de UseScrollViewViewController.

+0

scrollView et imageView sont déjà synthétisés – Brodie

1

Comme il n'y avait pas de réponse acceptée pour résoudre le problème, j'ai pensé que je posais ma réponse qui a résolu mon problème similaire. Lorsque la barre d'onglets est utilisée, vous devez également vérifier les attributs du contrôleur de la barre d'onglets dans IB. Très probablement le type de votre contrôleur de vue (qui est sous l'élément Contrôleur de barre d'onglets, qui est je suppose dans MainWindow.xib) est UIViewController. Changez-le à votre contrôleur spécifique.

Questions connexes