J'essaie de mettre à jour le contenu de l'interface d'un ContainerView sur iOS (UIViewController intégré dans un UIView) à partir du UIViewController dans lequel il est affiché. Cependant, ContainerView ne mettra pas à jour son contenu.Problèmes de mise à jour des objets d'interface iOS ContainerView
ContainerView et ViewController sont associés à différentes classes. Je peux transmettre des données entre les deux contrôleurs de vue en utilisant quelques méthodes comme celles-ci:
- (void)displayStringInContainer:(NSString *)string
Le string
est transmis avec succès à la ContainerView du ViewController, mais lorsque je tente d'afficher cette chaîne dans un élément d'interface - rien arrive (même si le code est appelé se):
self.buttonName.titleLabel.text = string;
J'ai même essayé d'appeler setNeedsDisplay
sur le bouton, mais rien ne se passe. Notez que cela se produit avec tous les éléments d'interface.
Voilà comment j'appelle la méthode sur la ContainerView de mon ViewController:
ContainerViewController *cvc = [[ContainerViewController alloc] init];
[cvc displayStringInContainer:@"Text"];
Je l'ai fait un peu de recherche, mais ai rien trouvé (également essayé de regarder sur l'Apple Dev site , mais ça fait trois jours que ça tombe: P). Est-ce que quelqu'un sait comment mettre à jour le contenu d'un ContainerViewController d'un autre ViewController? Pourquoi cela ne fonctionne-t-il pas? Je me suis gratté la tête pendant un moment maintenant.
Comment avez-vous vu le conteneur dans votre vue 'UIViewController's'? – Peres
@JackyBoy ContainerView est intégré (via le séquencement de storyboard) dans un 'UIView' à l'intérieur de mon' UIViewController'. J'ai juste fait glisser la Vue Conteneur de la bibliothèque d'objets sur mon storyboard et l'ai connectée. –
Je n'utilise pas Storyboards, pour plusieurs raisons. Vous venez de m'en donner un autre. En utilisant le code, il vous faudrait 30 secondes pour le faire. Désolé, je ne peux pas vous aider. – Peres