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
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.
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];
Ahh man c'est parfait :) – user393273