2010-10-26 8 views
1

J'ai un UIWebView sur ma fenêtre principale. Puis-je contrôler cela via mon deuxième contrôleur de vue? Si oui pourriez-vous me donner un exemple?Communication croisée

Répondre

3

Oui, vous pouvez. Le "comment" est un sujet d'architecture d'application de base Cocoa que vous pouvez apprendre à partir de la documentation d'introduction d'Apple ou d'un certain nombre d'autres sites Web.

L'essentiel est que vous ayez besoin d'une référence au contrôleur de la vue Web (ou à la vue Web elle-même) à partir du second contrôleur. Cela peut être une sortie ou une variable d'instance régulière dans le second contrôleur. Ensuite, il s'agit d'appeler le [firstController makeTheWebViewDoSomething];. Voir aussi Communicating with Objects.

+0

Ahh man c'est parfait :) – user393273

0

Si vous avez une vue "parente" qui possède à la fois WebView et l'autre sous-vue à partir de laquelle vous voulez contrôler.

Dans la "deuxième vue" créer une variable de membre (attribuer @property et @synthesize aussi):

MyUIViewController *parent 

Après avoir créé la "seconde" vue, appelez:

[[self secondview] setParent:self]; 

maintenant à partir de la deuxième vue, de faire quelque chose à la WebView, faire ce que vous voulez, comme:

[[parent webview] goback];