2009-12-05 16 views
0

J'essaie d'apprendre quelque chose de basique et très important pour développer des applications iPhone décentes. Mais je ne sais pas assez pour comprendre ce que je ne comprends pas. Voici la question:Partager l'image entre deux vues

J'ai un projet de fenêtre, avec 2 vues - View1, View2. Sur chaque vue (via IB) j'ai laissé tomber un contrôle imageView. Lorsque j'appelle une fonction dans view1, je veux régler le contrôle de l'image (montrer une image) de View2.

Comment faire cela?

Il doit y avoir un moyen simple mais je n'ai pas réussi (et j'ai beaucoup cherché) à trouver une façon simple et directe de le faire ou au moins de comprendre le concept.

Merci d'avance. -mE

Répondre

1

Vous n'avez pas nécessairement besoin de partager l'image. Est-ce grand? Le téléchargez-vous? En d'autres termes, faut-il vraiment le partager? Si tel est le cas, vous pouvez simplement instancier l'UIImage dans votre délégué d'application et le transmettre à chaque contrôleur de vue lors de sa création. Définissez une propriété pour chaque contrôleur de vue pour l'image. Quelque chose comme ceci:

ViewController1 *controller1 = [[ViewController1 alloc init]; 
[controller1 setImage:image]; 
[[self navigationController] pushViewController:controller1]; 
[controller1 release]; 

ViewController2 *controller2 = [[ViewController2 alloc init]; 
[controller2 setImage:image]; 
[[self navigationController] pushViewController:controller2]; 
[controller2 release]; 

Ensuite, dans chaque vous pouvez définir l'image pour votre

de imageView
- (void)viewDidLoad; 
{ 
    [super viewDidLoad]; 
    [[self imageView] setImage:[self image]]; 
} 

viewDidLoad contrôleur de vue, je ne sais pas comment vous êtes un contrôleur chargement de vos vue, mais le Le code ci-dessus suppose que vous utilisez une pile de contrôleur de navigation. Si vous avez besoin d'éclaircissements pour une approche différente, faites le moi savoir.

+0

l'image est enregistrée localement et essentiellement sur une vue, je montre un minuscule et sur la seconde je l'agrandis pour une meilleure visualisation. Merci cela répond à ma question - la clé est mise dans le délégué (je ne veux pas créer un singleton juste pour ça) – amok

0

Vous devez connecter les UIImageViews dans IB aux prises de votre classe ViewController. Dans votre fichier d'interface .h de classe, ajouter le cas échéant:

IBOutlet UIImageView *view1; 

ajouter une propriété:

@property (nonatomic,retain) IBOutlet UIImageView *view1; 

et dans votre fichier d'implémentation de classe (.m), synthétisent la propriété:

@synthesize view1; 

Enfin, vous devez connecter l'objet UIImageView dans IB à cette nouvelle prise. Ensuite, vous pouvez accéder à la propriété image de l'UIView dans votre classe avec view1.image

+0

ma question n'est pas comment j'accède à l'UIViewImage d'un viewcontroller (VC). C'est comment j'accède d'un VC à un autre objet comme et ImageView situé dans d'autres VC. Ce que vous décrivez est comment connecter un contrôle que j'ai déjà compris. – amok

Questions connexes