Quand je veux accéder au parent UIView
du courant UIView
, je déclare l'objet du parent UIView
au courant UIView
et j'y accède en affectant le parent UIView
à Propriété d'objet de la vue actuelle.
Existe-t-il un moyen de s'en débarrasser et d'appeler directement les méthodes ou les propriétés de la vue parente?
J'ai aussi essayé (parentView *) self.view.superview
mais je n'ai pas aidé.
Il donne une erreur en appelant la fonction pour cet objet
[UIVIew unrecognized selector......
Si vous appelez cela directement depuis une UIView
(et non une UIViewController
), il devrait s'agir de self.superview
au lieu de self.view.superview
.
@ Naveed: C’est le code commun que vous pouvez utiliser pour n’importe quelle vue, qu’il s’agisse d’une vue parent ou enfant, il suffit de changer le nom du bouton sur lequel vous voulez appuyer et le nom de la vue sur laquelle vous voulez aller. Par exemple, lorsque vous appuyez sur le bouton Précédent, vous voulez accéder à la bibliothèque, puis écrivez ce code
-(IBAction)backButtonPressed:(id) sender
{
llibraryView *libraryview=[[libraryView alloc] initWithNibName:nil bundle:nil];
libraryview.modalTransitionStyle=UIModalTransitionStyleCoverVertical;
[self presentModalViewController:libraryview animated:YES];
[libraryview release];
}
Faites-moi savoir si votre problème est résolu ou non.
Ce que je peux penser, c'est que vous souhaitez appeler la méthode de viewcontroller à partir de votre vue, que vous avez ajoutée à la vue de viewcontroller.
Vous avez maintenant deux options, soit vous définissez votre délégué de vue, votre contrôleur de vue, puis vous appelez la méthode de votre contrôleur de vue par l'approche [delegate performSelector:].
L'autre approche consiste à accéder à la vue d'ensemble de votre vue, puis à obtenir son contrôleur. Vous ne pouvez pas le faire directement, car si vous pouviez le faire, cela irait à l'encontre de l'objectif même de MVC.
Mais, il y a toujours un moyen de sortir, vous voilà: -
Obtenez à UIViewController de UIView?
J'espère que cela vous aide.